SQL Server Execution Plan Çeşitleri

SQL Server üzerinde üç farklı çeşitte Execution Plan bulunmaktadır. Text Plan Execution plandaki adımları text olarak gösterildiği şekildir, anlaşılması grafiksel planlara nispeten daha zordur. SHOWPLAN_ALL: Sorgunun Estimated Execution Planı TEXT olarak gösterilir. SHOWPLAN_TEXT: Sorgunun Estimated Execution Plan’ı daha az detaylı bir şekilde gösterilir. STATISTICS PROFILE: Sorgunun Actual Execution Plan’ı tüm detaylarıyla gösterilir. XML Plan XML… Okumaya devam et SQL Server Execution Plan Çeşitleri

SQL Server SELECT Nasıl Çalışır?

SQL Server’a üzerinde çalıştırılan bir SELECT sorgu hangi aşamalardan geçip, sonuca nasıl ulaşıldığına göz atalım. SQL Server Database Engine üzerinde bulunan bileşenler Query Optimizer: Mantıksal sorgu gereksinimi için verimli fiziksel bir execution plan bulmaktan sorumlu bileşendir. Language Processing: Sorgunun syntax olarak doğruluğunu kontrol eder, sorguda geçen tabloları ve varsa GROUP BY ‘ı ya da gerekliliğini… Okumaya devam et SQL Server SELECT Nasıl Çalışır?

SQL Sort operatörü #ExecutionPlanOperators

Sort Operatörü nedir? Sonuç kümesinin sıralanması istendiğinde ya da Database Engine bazı durumlarda sıralama işlemi yapmaya karar verdiğinde ortaya çıkan mantıksal ve fiziksel execution plan operatörüdür. Ne zaman ortaya çıkar? ORDER BY kullanımlarında Query Optimizer’ın seçtiği index’te ORDER kolonu yok veya sıralanmamış ise, JOIN kullanımlarında verilerin sıralı olması gerekiyor ise Demo –Clustered Index ALTER TABLE… Okumaya devam et SQL Sort operatörü #ExecutionPlanOperators

Nested Loops nedir? #ExecutionPlanOperators

Nested Loops: Dış veri kümesindeki (Outer) her bir satır için iç veri kümesinde (Inner) bir arama yapıldığı anlamına gelmektedir. Görseldeki şekilde Outer kümesindeki veriler için Inner kümesindeki verileri tek tek gezer. Query Processor, cost hesabına göre, iç veri kümesi üzerinde yapılacak aramaların performansını arttırmak için dış veri kümesinde sıralama işlemi (spool) yapılıp yapılmayacağına karar verir.… Okumaya devam et Nested Loops nedir? #ExecutionPlanOperators

Execution Plan Operatörleri

Execution Plan’lar üzerinde en çok görülen operatörlerin ne olduklarını, hangi durumlarda meydana geldiklerini ve kaçınılması gerekenlerden nasıl kaçınılabileceğini anlatacağım. #ExecutionPlanOperators hashtag’i ile başlattığım plan operatörleri serisine ait detaylara aşağıdaki linklerden ulaşabilirsiniz.