MSSQL Server Execution Plan TOP Operatörü

Bu makalede MSSQL Server Execution Plan TOP Operatörü kavramını detaylı bir şekilde ele almış olacağız. Execution plan yapımızda Top operatörü genellikle sorgularımızda sonuç kümesini filtrelemek için kullandığımız Top ifadesinin sonucunda Execution planlarımızda karşımıza çıkmaktadır.

Yukarıda görüldüğü gibi sorgularımızda top ifadesi varsa Select sorgumuzda belirli sayıda ifadeleri çağırdığımız anlamına gelmektedir.

Top operatörünü bazı durumlarda sorgularımızda kullanmasak bile Execution planlarımızda görebiliriz. Bu durum genellikle Update işleminden önce değiştirilecek kayıtların sayısını garanti etmek için karşımıza çıkmaktadır. İlgili makalede detaylı bir şekilde görebilirsiniz.

Top operatörü sorgumuzdan dönen kayıt sayısını herhangi bir koşula bağlı olmadan sınırlamaktadır ve çoğu zaman bu operatör Order By ifadesi ile sıralanmış bir veri kümesi üzerinde işlem yapmaktadır. Bildiğiniz gibi sorgularımızda Order By ile sıralama yaptığımızda eğer uygun bir indeks yok ise SQL Server Sort operatörünü kullanmaktadır. Böyle durumlarda Sort operatöründen sonra Top operatörü kullanılmaz. Bunun yerine Sort operatörünün özel bir hali olan ve Top operatörü ile birleştirilmiş hali olan Top N Sort operatörü karşımıza çıkmaktadır.

Yukarıdaki resimde sort operatörü sıralama işlemi yapmadan önce Top N Sort ifadesinide aktif hale getirmektedir. Sql server top ifadesi ile birlikte order by ifadesi görünce sadece en yüksek 10 kaydın değerini getirmenin yeterli olduğunu anlıyor. Bu sebepten tam sıralama olan full sort yerine Top N Sort ile daha az maliyetli sıralama yapıyor.

Bu makalede execution yapılarında görülen TOP ifadesine değinmiş olduk. Başka bir makalede görüşmek dileğiyle..

Sizin dostunuz (veliniz), ancak Allah, O’nun elçisi, rüku ediciler olarak namaz kılan ve zekatı veren mü’minlerdir. Maide Suresi, 55. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir