Missing Index Operation

Reading Time: 5 minutes

Merhaba Sevgili Arkadaşlar, Bu gün sizlerle adım adım Missing index operasyonunu gerçekleştireceğiz. Konu başlıklarımız aşağıda ki şemamız da yer almaktadır.

missingysfkhvc

 

 1.1

Yukarıda da gördüğünüz üzere YSFKHVC Serverımızda barındırdığımız DATABASE imiz üzerinde Missing Index operasyonunu adım adım gerçekleştireceğiz. İlk önce aşağıda hazırladım query ile Missing indexlere ulaşacağız.

Bu aşamadan sonra tablomuza bir kaç Select işlemi uyguluyoruz.

Bu aşamadan sonra Missing Index lere ulaşmak için elimizde bulunan 2 farklı scripten ilkini çalıştırıyoruz.

Yukarıdaki scriptimizin sonucunda ki ekran görüntüsü aşağıdadır.

missing1

* DatabaseID                               : Database imizin id bilgisine ulaşıyoruz bu kolon sayesinde.

Avg_estimated_impact  : Tahmini Ortalama Kazancımıza uılaşıyoruz.

Last_User_Seek                     : En son ne zaman seek edildiğine dair tarih bilgisi

TableName                                : Tablomuzun ismi.

*Create_Statament                : Oluşturacağımız yani önerilen index in create scriptini vermektedir. Aynı şekilde yine Missing Index i bulmamıza yardımımcı scriptimiz aşağıdadır.

Ekran görüntüsü aşağıdaki gibidir.

missing2

Yukarıda da görüldüğü gibi ,lk missing index scriptimizin aynı sonmuclarını vermekte fakat kolon olarak yöneten kişiye parça bilgileri daha fazla sunmaktadır. Yukarıda ki missing araştırmalarımıza göre index isteyen tablomuzu belirledik.Şimdi sıra geldi tablo analizimize.İlk önce tabloyu missing index e zorlayan queryler nelermiş? Aşağıda ki scriptimiz ile bu sonuçlara ulaşabiliriz.

missing3

 

Ekran görüntüsü ; şimdi sorgumuza da ulaştığımıza göre sorgumuzu ele alalım ve istatistik bilgilerine erişim not alalım.

Istatistik sonuçları aşağıdadır ;

(1 row(s) affected) Table ‘Worktable’. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table ‘SQLTURKIYE_TEST1′. Scan count 1, logical reads 700, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table ‘SQLTURKIYE_TEST2′. Scan count 1, logical reads 1, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 63 ms, elapsed time = 96 ms. SQL Server Execution Times: CPU time = 0 ms, elapsed time = 0 ms.

Bu bilgilere eriştikten sonra tablomuzu detaylı analize sokuyoruz.

Bu işlemler sonucunda eğer index eklememiz eriştiğimiz sonuçlara göre mantıklı ve performanslı bir karar ise eklenecektir.

Index imizi oluşturduktan sonra aynı query mizi tekrar çekip istatistik değerlerimizi karşılaştırmalıyız.

Istatistik Değer ;

(1 row(s) affected) Table ‘SQLTURKIYE_TEST1′. Scan count 1, logical reads 3, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.Table ‘SQLTURKIYE_TEST2′. Scan count 1, logical reads 1, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 0 ms, elapsed time = 0 ms. SQL Server Execution Times: CPU time = 0 ms, elapsed time = 0 ms.

Yukarıda da görüldüğü üzere incelemelerimiz sonucu gerekli index imizin sağlamasını yaparak en uygun yere oluşturduk ve istatistik sonuçlarımızda ki performans arttırımını görmüş olduk.

ykkrtvzt

Leave a Reply

Your email address will not be published. Required fields are marked *