Kayıt Ol

Giriş

Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

soru ekleme

Soru sormak için giriş yapmalısınız.

Giriş

Kayıt Ol

.........

Common Table Expressions(CTE)

Common Table Expressions(CTE)

SQL SERVER’da sorgu yazarken bazen  farklı  tabloları birleştirmek durumunda kalırız,çünkü farklı tablolardaki bilgilere ihtiyaç duyarız.Bunun için view ve geçici tablo oluşturabiliriz.Fakat bazen tablolar ile çalışmak iyi olmayabiliyor.Bunun için CTE  dediğimiz sorgu ifadelerini kullanabiliriz.Cte ile sorgularımıza ön sorgu ekleyebiliriz.O zaman bir örnek ile başlayalım.Şimdi bir örneği cte kullanarak ve kullanmayarak gösterelim.

Şimdi yukarıdaki cte ile yazdığımız sorgumuzun execution planına bakalım.
ekran-alintisi
Bu sorgu için Sql Server üzerinde PK_ProductModel  adında bir clustered index buldu.”Clustered index scan” işlemi yaptı.% 23 ifadesinden tüm çabanın indeksi okumak için verilmediği anlaşılıyor.Marge join kullanıldığı için öncelikle tablolar sıralı hale getiriliyor.Marge join de tablolar aynı anda taranır ve aynı anda 2 tablonun birer satırı okunur.Bunun avantajını büyük tablolu veritabanlarında görürüz.Tablolar sıralı değilse öncelikle sıralı hale getirilmesi gerekir.Product tablosu ProductModelID ye göre sıralı olsaydı sort işlemi yapılmazdı.Doğrudan  “Clustered index scan” işlemi yapılırdı.

 

Hakkında Zeynep ŞİT

Namık Kemal Üniversitesi

Yorum ( 1 )

  1. Ömer KÖSEOĞLU
    1 Kasım 2016 at 21:39

    Faydalı ve güzel bilgiler teşekkürler

Leave a reply

*