• Buradasın

    SQL Server'da Yürütme Planı Elemanları Eğitimi

    youtube.com/watch?v=YlkAo2OlETo

    Yapay zekadan makale özeti

    • Bu video, Sheda ve Mert adlı eğitmenler tarafından sunulan SQL Server'da yürütme planı elemanları hakkında bir eğitim içeriğidir.
    • Video, SQL Server'da bir sorgunun nasıl çalıştığı hakkındaki detaylardan oluşan yürütme planlarının elemanlarını ele almaktadır. İçerikte tablodan veri okuma elemanları (table scan, clustered index scan, non-clustered index scan), join işlemleri (nested loop, merge joins, hashmatches), gruplamalar (aggregations), filtreleme (filter) ve sıralama (sort) işlemleri açıklanmaktadır. Ayrıca clustered ve non-clustered index kavramları, customer ve sales order header tablolarında bu index türlerinin nasıl çalıştığı ve join işlemi sırasında join kolonlarının kullanımı detaylı şekilde anlatılmaktadır.
    • Eğitim, teorik bilgilerin yanı sıra kağıt yığını gibi günlük hayattan analogiler kullanılarak konu anlaşılır hale getirilmekte ve örnek yürütme planları üzerinden pratik uygulamalarla devam etmektedir.
    00:01SQL Server'da Yürütme Planı Elemanları
    • Yürütme planı (execution plan), SQL Server'da bir sorgunun nasıl çalıştığı hakkındaki detaylardan oluşan bir haritadır.
    • Yürütme planları fazla sayıda farklı türde eleman içerebilir.
    00:34Tablodan Veri Okuma Elemanları
    • Tablodan veri okumakla ilgili üç yürütme planı elemanı vardır: table scan, clustered index scan ve clustered index seek.
    • Hangi elemanın kullanılacağı, tablonun yapısının heap veya clustered index olup olmadığına ve kümelenmiş indeksin sorguyu çözmede faydası olup olmadığına göre değişir.
    • Heap yapısı verilerin kural olmadan kaydedildiği sırada tutulması ile oluşan yığın yapılarıdır, kümelenmiş indeks ise çok sayıda verinin bulunduğu tabloda aranılan kayda hızlı bir şekilde ulaşabilmek için indeksleme yaparak bir sıra oluşturulmasıdır.
    01:28Table Scan ve Clustered Index Scan
    • Table scan (tablo tarama) işlemi birçok sorguda bulunan bir problemdir.
    • Table scan heap'lere uygulanırken, clustered index scan kümelenmiş indeksi yani kümelenmiş indekse sahip tablolara uygulanır.
    • Eğer bir sorguda tablodan kümeleme anahtarı ile bir bağlantı varsa, SQL Server istenilen satırın veya satırların hızlı bir şekilde yerinin belirlenmesi için bunu destekleyen indeksi kullanabilir.
    03:04Nested Looplar ve Look-Up İşlemleri
    • Nested looplar sıklıkla karşılaşılan işlemlerden biridir ve bir join işlemini uygulamak için kullanılırlar.
    • Row identifier look-up heap'lere, key look-up kümelenmiş indeks bulunan tablolara uygulanır.
    03:44Merge Join ve Hash Match İşlemleri
    • Merge join işlemleri hashmatch işlemlerinden daha verimlidir, ancak sıralı bir input gerektirir.
    • Merge join, iki tablonun birer satırını okuyup karşılaştırarak eş zamanlı çalışır ve iki tablonun da join keylerinin sıralı olması gerekir.
    • Hash match işlemi nispeten brute-force metodunu kullanır, bir input bir algoritmaya göre gruba ayrılır ve diğer input aynı algoritmaya bağlı olarak işlem görür.
    07:24Agregations (Gruplamalar)
    • İki tip agregate operatörü vardır: stream agregate ve hashmage agregate.
    • Stream agregate'ler daha verimlidir, örneğin siparişler müşteri id sırasında ise bu sayıyı elde etmek kolaydır.
    • Sorgu planında bu işlemlerin kullanılması her zaman olmasa da sıklıkla temel tabloda uygun indekslemenin olmadığının bir göstergesidir.
    08:52Filter ve Sort İşlemleri
    • Filter işlemleri WHERE veya HAVING bulunduğu durumlarda uygulanır ve input verisini sıralar.
    • Filter işlemleri az zarar oluşturur ve veri doğru veri geçer geçmez işlenir.
    • Sort işlemi sorgularda ORDER BY uygulaması için kullanılır, ancak gereksiz ORDER BY kullanımından kaçınmak gerekir.
    10:17Veri Değişiklik Durumları
    • Veri değişiklik durumları temel T-SQL veri değişiklik durumlarının INSERT, UPDATE ve DELETE işlemlerinin kombinasyonunu kullanarak uygulanabilir.
    • Bu işlemlerin amacı genellikle açık, yani girmiş olabilir.
    10:48Örnekler
    • Table scan örneği meydana geldiğinde herhangi bir indeksleme yok ve tablonun bütün satırlarını aramaya ihtiyaç vardır.
    • Clustered index scan işlemi kullanıldığında, sorgu optimize sadece none-clustered index değil, aynı zamanda clustered index de okur.
    • Nested loop operatörü, tablodaki join key'i kendi başına herhangi bir performans göstermez.
    13:20Veritabanı Tabloları ve Join İşlemi
    • Mert join customer tablosunda clustered index, sales order header tablosunda ise none clustered index bulunmaktadır.
    • Her tablodaki bütün satırları döndürmek için her tablo üzerinde bir tarama meydana gelir.
    • Customer ve sales order header tablolarında join kolonlarının sales ve customer id olduğu görülmektedir.
    • Hashmage işlemi, index scanin çıktısıyla geri kalan işlemlerin çıktısını birleştirmiştir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor