Dynamics CRM bildiğiniz üzere Microsoft SQL veritabanı üzerinde çalışmaktadır. SQL veritabanı üzerinde çalışan programların daha efektif çalışabilmesi için oluşturmuş olduğumuz tablolarda indexleme çalışması yapmaktayız. Dynamics CRM index çalışmalarını bizim için kendi varlıkları üzerinde otomatik olarak yapmaktadır. Özel olarak oluşturduğumuz varlıklarda ise ihtiyaca göre biz kendimiz index eklemekteyiz. Dynamics Crm index rebuild ve reorganization işlemleri sistem performansı için belli aralıklar ile yapılmalıdır.
Konu indexlere geldiğine göre SQL index nedir ve index nasıl oluşturulur başlıklı yazıya bir göz atmanızda fayda var diye düşünüyorum.
SQL veritabanındaki tablolara yeni veriler eklendikçe ve eski veriler silindikçe tablolardaki index yapısı geçerliliğini yitirmektedir. Hangi tablodaki indexlerin geçerliliğini kaybettiğini anlamak için aşağıdaki SQL sorgusunu çalıştırmak gerekmektedir:
SELECT dbschemas.[name] as 'Schema',
dbtables.[name] as 'Table',
dbindexes.[name] as 'Index',
indexstats.avg_fragmentation_in_percent,
indexstats.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables (nolock) dbtables on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas (nolock) dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes (nolock) ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE indexstats.database_id = DB_ID()
ORDER BY indexstats.avg_fragmentation_in_percent desc
Yukarıdaki sorgu ile indexlerin fragmantasyon bilgisine göre indexleri sıralamaktayız. Bu değer bize indexin bozulma oranını göstermektedir. Fragmantasyon değeri arttıkça indexteki bozulma oranı da artmaktadır. 0-40 arası kabul edilebilir bir değer olabilir ancak 40 üstü kesinlikle bize bozulmanın çok fazla olduğunu söylemektedir.
Sorguda karşımıza çıkan bir diğer değer ise pagecount değeridir. Index ile ilişkilendirilmiş verilerin sayısı ne kadar fazla ise pagecount değerimiz de o kadar fazladır. SQL bu verileri sayfalara bölerek tutmaktadır.
SQL veritabanında bozulan indexleri yeniden derlemek için Microsoft Dynamics Crm ile birlikte gelen p_ReindexAll adındaki stored procedureünü kullanmaktayız. Bu stored procedureün aşağıdaki parametreleri çalışmak için almaktadır:
exec [p_ReindexAll] AllIndexTypes, MaxRunTime, FragRebuildPctHigh, FragRebuildPctLow, MinPages, MinPages, Online
AllIndexTypes: Bu parametreye 0 değeri vererek prosedürün sadece Clustered indexler için çalışmasını sağlıyoruz. 1 değeri vererek Clustered ve Non Clustered indexler için çalışmasını sağlıyoruz.
MaxRunTime: Saniye cinsinden işin maksimum çalışma süresidir. Null verildiği zaman işlem tüm indexler için çalışacaktır.
FragRebuildPctHigh: Verilen değerden yüksek bozulması olan indexleri rebuild ediyor.
FragRebuildPctLow: Verilen değerden yüksek bozulması olan indexleri rebuild ediyor.
MinPages: Pagecountu verilen değerin üstünde olan indexler işleme alınacaktır.
Verbose: Çalışma sonucu döndürülen mesajdır.
Online: İndex düzenlerken indexe erişimin kapatılıp kapatılmayacağını belirtir.
Stored procedure çalışmasını tamamladıktan sonra bize 4 farklı sonuç değeri döndürebilmektedir. Bunlar:
0: Başarıyla prosedür çalışmasını tamamladı.
1: Bazı indexler için rebuild işlemi tamamlanamadı.
2: İndexler için rebuild işlemi tamamlandı ama istatistikler güncellenemedi.
5: Parametrelerde hata var.
İndexleri güncelledikten sonra sp_updatestats prosedürü ile istatistikleri güncellemek size performans açısından artış sağlayabilir.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.
Günümüz şartlarında neredeyse her Apple ürünü iCloud Etkinleştirme kilidi özelliğine sahiptir. Bu kilit bir çok… Daha fazla oku
Apple sattığı cihazlardan para kazandığı kadar servisleri ile de para kazanan bir firma olmuştur. Son… Daha fazla oku
Elmadan haberler 3 içerisindeki gündem şu şekildedir: Apple TV Android Akıllı Cep Telefonu ve Tabletlere… Daha fazla oku
iPhone Güncelleme sonrası pil sağlığı neden düşer son derece fazla aldığım diğer bir sorudur. Bu… Daha fazla oku
Bilinçli iPhone Kullanıcısı video serisi kapsamında iPhone iOS 16.2 ipuçları bu yazıda ele alacağım bir… Daha fazla oku
iPhone modellerinde güvenlik için Touch ID teknolojisini de Face ID teknolojisini de kullandık. iPhone SE… Daha fazla oku
Bu web site kullanıcı deneyimini arttırmak amacı ile çerezleri kullanmaktadır