• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Sql Server 2016 Live Query Statistics

Üyelik Tarihi
24 Mar 2017
Konular
1,018
Mesajlar
2,425
MFC Puanı
4,910
Live Query Statistics özelliği ilk olarak Sql Server 2016 CTP 2.1 sürümü ile birlikte duyuruldu. Aktif sorgunun çalışma planını canlı olarak bizlere sunan bu yeni özellik ile, sorgulardaki performans sorunlarını ve hata bulmayı daha kolaylıkla yapabileceğiz.
Bu makaledeki örnekler, Sql Server 2016 CTP 2.3 sürümü ile anlatılmıştır. Ana sürüm çıktıktan sonra versiyon değişiklikleri olabilir. Sorgu örnekleri için AdventurkWorks2014 veritabanı kullanılmıştır.
Sorgu ekranlarında Live Query Statistics özelliğini aktif etmek için, sorguyu çalıştırmadan önce üstteki menülerden “Include Live Query Statistics” butonuna tıklıyoruz.
75e1c2fa-6ac8-4152-9f10-928b927844e2.png

LQS -1
Sorgu çalışmaya başladığında, sonuç alanına bir sekme daha geliyor.
26eeb711-8103-43da-ab67-1a5076612985.png

LQS – 2
Sorgu çalışırken yukardaki şekil LQS-2 deki gibi hareketli olarak operatörler arası noktalı oklar ile çalışmayı gösteriyor. Çalışan operatörün hangi aşamada olduğu yüzdesel olarak operatörün altında gösteriliyor.
Tamamlanan operatör ise içi dolu oklar ile gösteriliyor.
5482aa4e-1b05-4d79-93d5-dabc3df6a71f.png

LQS – 3
Sonuca yaklaşıldığında, oklar inceden kalına doğru değişiyor. Bir sorgu çalışırken canlı olarak neler olduğunu hangi aşamaların ne durumda olduklarını bu özellik sayesinde görebileceğiz.
Live Query Statistics’in diğer güzel bir özelliği de, her operatörde kaç satır çalıştığının bilgisinin vermesi. Operatörün üzerine tıkladığımızda, açılan pop-up ekranında ve yanda taraftaki properties ekranında “Actual Number of Rows” alanında satır sayısı bilgisi canlı olarak, yani sorgu devam ederken de verebiliyor.
94aad120-290f-4e45-897a-c5fdc8a374d8.jpg

LQS – 4
Operatörün üzerine geldiğimizde, Actual Number of Rows gözükmekte.
53d3d522-1594-428d-b4af-980cfcf16b4c.jpg

LQS – 5
Bu sorguda iki tabloyu cross join ile bağlanmıştık. Diğer iki tablonun da anlık olarak satır sayılarının bilgisini veriyor. Sorgudaki iki tablonun satır sayılarına bakalım.
Employee tablosunda 290 satır
Person tablosunda da 19972 satır var, bu iki tabloyu cross join ile birleştirdiğimizde 290 * 19972 = 5791880 satır yapıyor.
838918ee-538d-4bea-a68d-d42b6d1f7056.jpg

LQS – 6
Activity monitör üzerinde de büyük sorguların execution planlarını canlı olarak izleyebilirsiniz. İlk olarak Activity Monitor’ü açıyoruz.
9c552f36-a611-4b63-8a95-57dc2656e9c9.jpg

LQS – 7
Active Expensive Queries bölümüne aktif olarak çalışan büyük sorgular gelmektedir. Çalışan sorgunun üzerinde sağ tıklayarak “Show Live Execution Plan”a tıkladığımızda Live Query sayfası yeni sekme olarak açılmaktadır.
b88ca72d-b60d-4ef7-9738-94fc59cc8443.png

LQS – 8
Live Execution planların sorgularda etkili olması için, SET STATISTICS PROFILE ON veya SET STATISTICS XML ON komutlarını sorguların başında kullanmanız gerekiyor, eğer bu komutlar olmadan sorgular çalışır ise, Active Expensice Queries ekranına sorgularınız gelmeyecektir.
Live Query Statistics’in bazı kısıtlamaları vardır, bunlar;
- Columnstore indeksler desteklenmemektedir.
- Memory-optimized tablolarda çalışmamaktadır.
- Tekil olarak çalıştırılan stored procedureları desteklememektedir.
Live Query Planlar daha çok native çalışan sorgularda darboğazları tespit etmek için kullanılacaktır. Performans sıkıntılarına yol açan darboğazların tespitinde kullanılacak bir özellik olarak ana sürümde yerini alacaktır.
 
Üst