Kurumsal Kaynak Planlama(ERP) programlarında verilerin saklandıgı veri tabanlarında hareket sıklıgı nedeni ile İndexler parçalanmakta ve bu durum hareketlerde gecikmelere,performans sorunlarına neden olmaktadır.Bizim özelimiz de finansal verilerden ziyade, üretim ve depolar arası transfer,sevkiyat hareketlerinde ve bu hareketlerin tutuldugu bağlı tablolarda sıklıkla sorun oluşturmakta.Normalde böyle durumlarda SQL SSMS yardımı ile T-SQL komutları,GUI tabanlı veya zamanlanmış görevleri kullanarak index bakımı planlamaktaydık.Logo Netsis 9.0.51.0 versiyonu ile programa Veri Tabanı Kontrol Paneli eklenmiş olup,bundan böyle bu ekranı kullanarakta indexleme yapabileceğiz.Normalde bu menünün altında aşağıda ki işlemleri yapmamızı sağlayan seçenekler bulunmaktaydı:
- Genel Bilgiler(Veri Tabanı Sunucusu versiyonu,mdf-ldf dosyaları,ram,disk bilgileri)
- Tablo Bilgileri(Veritabanı içinde ki tablolarda ki kayıt sayısı)
- İndex Bilgileri(Bu yazının konusu buna odaklanmış olup burada index parçalanma durumlarını görüp index ve statistic update işlemleri buradan yapıabilmekte)
- Şema/Nesne Farkları
- Performans Testi
Yukarıda ki seçeneklere ek olarak son versiyonda kilitlenen işlemler diye yeni bir sekme güncellemesi yapılmış(Sanırım Deadlock gibi durumlar için).Bizim yazımızın konusu İndexleme oldugu için Logo Netsis Veri Tabanı Kontrol Paneli özelinde İndexleme ile ilgili çalışma yapacagız.Öncelikle arama bölümüne veya Genel/Yardımcı Programlar/Raporlar/Veri Tabanı Kontrol Paneli giderek,Veri Tabanı Kontrol Panelinde indexleme bölümüne gelip,Fragmentation bölümünü büyükten küçüge göre sıralamamız gerekmektedir.
Yukarıda en yüksek parçalanma oranı %80 oldugu için,sınır değeri olarak %85 belirleyerek İstatistic güncellemesi yapılsın seçeneğini işaretliyorum.Bundan sonra seçilen tablolara bağlı indexler yeniden düzenlecek olup,işlemi profiler ile takip ettiğimizde işlemin aşağıda ki sırada devam ettiğini göreceğiz:
/*SELECT */
EXEC NSP_INDEXMAINTANCE '_TBLCARISKTOP',85;
END
Ardından istatistik update seçeneği de seçildiği için,son profiler çıktımız aşağıda ki gibi olacaktır;
/*SELECT */
EXEC SP_UPDATESTATS;
END
Son olarak işlemin ardından aşağıda görüldüğü gibi parçalanma oranlarının düştüğünü göreceğiz;
Logo Netsis bunlara ek olarak isteğe bağlı olarak,İndexleme'yi zamanlanmış olarakta yaptırabilmektedir.