
Göersel plan sorgunun çalışma şeklini görsel olarak gösteren plan türüdür.Hem gerçek plan hem de tahmini plan görsel plan şeklinde detaylı olarak izlenebilir.
Text Plan
Okunması her ne kadar zor olsa da çok daha fazla bilgi verilir.Üç türlü text plan mevcuttur:
showplan_all:Yeterli miktarda veri miktarı ile tahmini çalışma planı gösterilir
showplan_text:az bir miktar veri ile tahmini çalışma planı gösterilir.
statisticsprofile:Yeterli miktarda veri ile gerçek planı gösterir.
XML Plan
Xml şeklinde gösterilen plan ile en fazla bilgi sunulur.Bilgiler XML formatında gösterilir.İki türlü XML paln formatı vardır
showplan_xml : çalıştırılmak için optimizer tarafından üretilen plandır.
statistics_xml : XML formatındaki gerçek plan
USE AdventureWorks
GO
SELECT * FROM Person.Contact
Bu sorgu için oluşturulan execution plan şu şekildedir.
Plan incelenerek sorgu hakkında bir takım bilgiler elde edilebilir.Bu basit sorguda maliyetin tamamı Person.Contact tablosu üzerinde yapılan aramadan oluşmaktadır.Bu bilgi optimizer tarafından plandaki her bir şekil için üretilir.Tabloda index olduğu için ve where kısmında bir kısıt belirlenmediği için tabloda index scan yapılmıştır.Soldaki select sadece mantıksal bir gösterim olup iki şekil arasındaki ok işareti iletilen verinin miktarı hakkında bilgi verir.Eğer bu ok işareti kalın isi çok fazla veri okunuyor demektir. Sorgu şu şekilde değiştirilirse:
USE AdventureWorks
GO
SELECT * FROM Person.Contact WHERE ContactID=10
Sorgu planıda şekilde göründüğü gibi değişecektir.Bu durumda arama index seek’ e göre yapılacaktır.İndex seek index scan’ a göre çok daha hızlıdır.Ayrıca aradaki ok işaretinin de inceldiği görülmektedir çünkü ilk sorguya göre çok daha az veri okunmaktadır.Bu şekilde incelemeler yapılarak sorgular çok daha performanslı hale getirilebilir.
Tooltipler
Execution planda şekillerin üzerine gelindiğinde bunlar hakkında ayrıntılı bilgiler veren tooltipler çıkmaktadır.

Bu tooltip plan hakkında genel bilgiler yada sorgunun bir kısmı hakkında spesifik bilgiler vermektedir.En başta görünen select şeklinin üzerine gelinirse sorgunun genel özellikleri hakkında bir takım bilgilere ulaşılabilir.Bu bilgiler şunlardır:
Cached plan size:Bellekte tutulan planın büyüklüğüdür.Bellekte alana ihtiyaç olursa buradaki planı silinebilir.Bu şekilde bellek kazancı sağlar.Fakat bu durumda planın yeni bir sorguda tekrar üretilmesi gerekir.
Degree of parallelism:Paralellik derecesi hakkında bilgi verir.
Estimated Operator Cost:Her bir alt işlemin tutacağı maliyet her bir şeklin altında yüzde olarak gösterilir
Estimated Subtree Cost:Optimizer ın bir önceki adımlar için düşündüğü tahmini maliyet toplamı
Estimated Number of Rows:Tahmini kayıt sayısı
Sorguya ilişkin genel bilgiler veren bu tooltip dışında sorgunun bir kısmı için bilgi veren tooltip te sorguyu analiz etmede oldukça kullanışlıdır.Yavaş çalışan bir sorguda hatanın gerçek kaynağının nerde olduğunu anlamak için bu kısımlar ayrı ayrı incelenmelidir.Bu şekilde sorun teşkil eden noktalar tespit edilip düzeltilebilir.

Physical Operation sorgu çalıştığında oluşan Logical Operator ise optimizer ın çalışması sonucu oluşan sonuçtur.Genellikle aynı sonucu üretirler.Actual Number of Rows gerçek kayıt sayısı,Estimated Rows size tahmini kayıt sayısını belirtir.Estimated I/O Cost disk okuma yazma, Estimated CPU Cost işlemci gereksinimine karşılık gelir.Bu hesaplamalar istatistiklere dayanır ve optimizer tarafından üretilir.Eğer veriler sıralı bir şekilde işlenmişse(Order By yapılmışsa) order by alanı true olur.Bunun dışında herhangi bir ikon üzerine sağa tıklanarak Properties seçilirse daha ayrıntılı bir şekilde işlemin detaylarına ulaşilabilir.
Text Plan
Execution planı text fromatında görebilmek için sorgunun başına
SET SHOWPLAN_ALL ON yazılmalıdır.

Text planları her ne kadar daha fazla bilgi verselerde anlaşılabilirliği azdır.
XML plan
Xml formatında execution plan alabilmek için
SET STATISTICS XML ON
Yazılırsa xml formatında execution plan alınır.Xml formatında alınan execution planda daha ayrıntılı ve yapısal bir data verilir.Text plana göre okunabilirliği daha yüksektir fakat görsel plan kadar anlaşılabilirliği yüksek değildir.
set statistics io on
Bu komut çalıştırılacak sorgunun istatistik bilgilerinin de mesaj olarak gösterilmesini sağlar.
set statistics io on
SELECT [ContactID],[NameStyle] FROM [AdventureWorks].[Person].[Contact]
Bu sorgu için üretilen örnek istatistik bilgisi şu şekildedir.
Table 'Contact'. Scan count 1, logical reads 569, physical reads 0, read-ahead reads 0 read-ahead reads
Contact tablosu 1 defa taranmış cache’den 569 okuma yapılmıştır. physical reads 0 bilgisi diskten okuma yapılmadığını gösterir.Diskten okuma yapmak her zaman daha maliyetlidir.read-ahead readssorgu için cacheye alınan page sayısını gösterirken,lob logical reads, lob physical reads, lob read-ahead reads cache’e alınan, cache’den okunan ve diskten okunan text,ntext,image ,varchar(max) sayısı hakkında bilgi veriri.
set statistics time on
Bu komut bize sql server’ın bir sorguyu çalıştırmak için ne kadar işlemci süresi ve ne kadar sql server süresi harcandığını gösteriri.
set statistics time on
SELECT * FROM [AdventureWorks].Person.Address
Bu sorgu için üretilen zaman bilgisi şu şekildedir.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 64 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 1 ms.
SQL Server Execution Times:
CPU time = 46 ms, elapsed time = 935 ms.
İlk bilgi bize parse ve compile için harcana süre bilgisini verirken ikinci ve üçüncü bilgi ise set statistics time on ve yapılan select için ayrı ayrı harcanan execution süresini verir.Bu tür bilgiler kullanılarak veritabanının performansla ilgili işleyişi hakkında bir takım bilgiler edinilebilir.Bu bilgiler sistemin daha etkin çalışabilmesi açısından çok büyük önem arzetmektedir.