SQL Server Execution Plan Mimarisi
Büyük ve orta ölçekli firmalarda veri boyutu artık hızla büyüyor. Veri boyutu büyüdükçe veriye erişirken performans problemleri ile karşılaşılabiliyor. Özellikle hızlı büyüyen sistemlerin ortak noktası zamanla sorgu performanslarının düşmesidir. Bu sebeple performans kaybına sebep olan etkenlerin bulunup düzeltilmesi bir firma için hayati önem taşımaktadır.
Bu bağlamda danışmanlık yaptığımız firmalarda ve eğitimlerde en sık karşılaştığımız soru bir sorguyu nasıl hızlandırabiliriz? Daha önce hızlı çalışan sorgum simdi yavaş çalışıyor neden? Yazdığımız iki sorgudan hangisi daha hızlı çalışır? gibi soruların cevabı aynı olmasa bile bu sorulara cevap bulmak için kullanacağımız araç Execution Plan olacaktır. Bu denli hayati öneme sahip bir konu hakkında yazmış olduğumuz kitabı sizinle paylaşıyoruz.
Genel olarak kitap aşağıdaki konuları içermektedir.
SQL Server Execution Plan Mimarisi
SQL Server sorgu optimizer'ının (Query Optimizer) bir sorguyu nasıl işlediğine derinlemesine bir bakış. Parsing, Binding ve Optimization aşamalarının incelenmesi; Plan Cache mekanizmasının nasıl çalıştığı ve Execution Plan’lerin neden ve nasıl oluşturulduğuna dair temel mimari bilgiler.
Execution Plan Operatörleri
Execution Plan içerisinde sıkça karşılaşılan Index Seek, Index Scan, Table Scan, Key Lookup gibi veri erişim operatörlerinin yanı sıra; Nested Loops, Hash Match ve Merge Join gibi birleştirme operatörlerinin detaylı analizi. Hangi operatörün hangi durumlarda maliyetli olduğunun tespiti.
SQL Server Paralelizm Kullanımı
Sorguların birden fazla işlemci çekirdeği (CPU) kullanarak nasıl paralel çalıştığının incelenmesi. CXPACKET beklemeleri, MAXDOP (Maximum Degree of Parallelism) ayarları ve "Cost Threshold for Parallelism" değerinin sorgu performansı üzerindeki kritik etkileri.
Query ve Table Hint Kullanılarak Execution Plana Müdahale Edilmesi
Optimizer'ın bazen yanlış kararlar verdiği durumlarda; JOIN hintleri, INDEX hintleri ve OPTIMIZE FOR gibi sorgu ipuçları (hints) kullanarak execution plan akışına nasıl müdahale edileceği ve bu yöntemin riskleri ile avantajları.
Extended Event Kullanılarak Execution Planların Loglanması
Sistem performansını izlemek için hafif bir yöntem olan Extended Events (XEvents) kullanımı. Gerçek zamanlı olarak "Actual Execution Plan" verilerinin nasıl toplanacağı, planların loglanması ve geriye dönük performans sorunlarının bu loglar üzerinden nasıl analiz edileceği.
Yayınlarımız
SQL Server 2017 Sorgulama
Yayınlar
SQL Server 2012 Programlama ve
Yayınlar
SQL Server 2012 Integration Services
Yayınlar