Root > Documents > Programlama > SQL Server İstatistiksel Komutlar
Cyber-Warrior.Org \ Doküman \ Programlama > SQL Server İstatistiksel Komutlar
Madde
  Yazar : S!LV3R
  Date : 28.06.2011 19:52:24
 
# SQL Server İstatistiksel Komutlar
 

SQL Server’da sorgularimiza ait istatistiksel bilgileri almak istiyorsak bunun için Management Studio’da Query Editör’e resimdeki gibi sag tiklayip Query Options’i seçelim.



Açilan pencerede Advanced bölümünden "SET STATISTICS IO" checkbox’ini isaretlerseniz; sorgularinizi çalistirdiginizda "Messages" kismindan sorgunuzun çalisma hizini takip edebilirsiniz. Bu sayede 3000’den yüksek degerler için gereken yerlere index atamasi yapabilirsiniz.



Gelelim istatistik komutlarina...

SQL Server’da yazilan bir sorgu için o an ki session veya session da çalistirilan komutlar hakkinda bilgi veren yani çalistirilan komut hakkinda istatistiksel sonuçlarin yer aldigi "Statistics Statements" bölümünden performans incelemelerini yapabiliriz. Bu sayede performansi iyilestirmek açisindan hangi yönde ve ne tür egilimler göstermemiz gerektigine dair kararlar vermemizi saglar.

STATISTICS IO: Hangi tabloda ne kadar index aramasi yapildigini, mantiksal ve fiziksel okuma sayilari hakkinda bilgi verir.

Hemen bir örnek yapalim.

SQL Server 2008 Management Studio üzerinden "AdwentureWorks" veritabanimizin Person.Contact tablosunu inceleyelim.

Önce kisi isimlerine bir göz atmak istiyorum. Özellikle de birden fazla ayni soyisime sahip olan kisileri istatistik olarak incelemek istiyorum. O zaman asagidaki sorguyu yazalim.

SELECT LastName FROM AdventureWorks.Person.Contact

Gelen listeden "Adams, Smith, Allen" isimleri gözüme çarpti, bende onlari seçtim.

Simdi de asagidaki sorgumuzu yazip çalistiralim.



STATISTICS TIME: Sorgunun çalistirilma süresi hakkinda bilgi verir.



SHOWPLAN_TEXT: Bir sorgunun çalisma durumu hakkinda bilgi verir. Daha genel bir bilgi sunar. SHOWPLAN_ALL, SHOWPLAN_TEXT’e oranla daha detayli bilgi verir. Ancak bu iki ifade de bir stored procedure içerisinde yazilamazlar.



SHOWPLAN_ALL: Bir T-SQL sorgusunun çalistirilmasi sirasinda gerçeklesen adimlari bizlere gösterir.

SQL Client yazilimlari tarafindan okunabilir bir formatta bilgi verir. Bu tabloda ortaya çikan sütunlar arasinda çalisan kod blogu(StmtText), NodeId, ParentId, yaklasik CPU ve IO degeri(EstimateIO, EstimateCPU) gibi bilgiler bulunmaktadir.


STATISTICS PROFILE: SHOWPLAN_ALL’da elde ettigimiz sonuca, her bir islemde üretilen satir sayisini(rows) ve her islemin kaç kere çalistirildigi(executes) bildiren iki sutün daha ekler.



SHOWPLAN_XML: SHOWPLAN_TEXT ifadesinde üretilen degerin çiktisini XML seklinde verir.

Adim adim gerçeklestirelim.

1.Önce asagidaki gibi SHOWPLAN_TEXT için hazirladigimiz sorguyu seçiyorum ve çalistiriyorum. Sonucun çiktisini resimde görüyorsunuz.



2.Simdi SET SHOWPLAN_XML ON ifadesini asagidaki resimde oldugu gibi çalistiriyorum.



3.Simdi de SHOWPLAN_TEXT sorgumuzu yeniden çalistiriyorum ve sonuca dikkat.



Ardindan çiktiya tikliyorum. Asagidaki gibi bir ekran görüntüsü ile karsilasacaksiniz.



4.Fakat isimiz bitti, artik bu sekilde bir çikti almak istemiyoruz. O zaman SET SHOWPLAN_XML OFF ifadesini çalistiriyorum. Tekrar ilk çiktida oldugu gibi bir sonuç verecektir.



Yaralanmaniz temennisiyle, iyi çalismalar...

 

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©