Şu anda SQL 70-433 (Microsoft Sertifikasyon sınavı) için çalışıyorum ve "sorgu maliyeti" performans ölçütü hakkında kafam çok karıştı.
Google üzerinden bulabildiğim herhangi bir belgeye göre, sorgu maliyeti yüzdedir ve bu işlemin herhangi bir kısmı tarafından alınan tüm grubun yüzdesini gösterir. Belirli bir sorgunun mutlak değeriyle ilgilendiğim için, yanında görünmekte olan diğer sorgulara göre hakikaten bu zaten bana biraz garip geldi.
Ama sonra düşündüm de, belki de yapmanız gereken, iki alternatif soruyu yan yana koymak, bunları "toplu iş" olarak çalıştırmak ve hangisinin% 50'sinden daha düşük bir maliyeti varsa hangisidir.
Ancak, 6. bölümdeki sorgu maliyetinin tartışılması, Microsoft’un SQL 70-433 Eğitim Seti’nden birinin dersiyle ilgisi yok gibi görünüyor.
İşte bir örnek: İki ilişkili alt sorguyu içeren bir sorgu gösterirler ve daha sonra alt sorguları bir OUTER APPLY ile değiştirerek daha iyi hale getirirler. Sonuç: "Bu sorgunun kabaca 76 bir bedeli varken, ilk sorgunun maliyeti ikiye katlandı, yaklaşık 151." Ardından sorguyu daha da iyileştirir ve maliyeti 76'dan 3.6'ya düşürürler. Bu rakamların yüzdeleri olduğu anlamına gelmez, oysa, sorguya bağımsız bir nesne olarak ilgili olan, başka sorgulara referans vermeyen mutlak rakamlar oldukları anlamına gelir. Her neyse, ilk sorgu nasıl% 151 maliyete sahip olabilir?
Bölümün ilerleyen bölümlerinde üç bölümden oluşan bir yürütme planının ekran görüntüsü gösterilir. Birincisi "Maliyet:% 0", ikincisi "Maliyet:% 1" ve sonuncusu "Maliyet:% 99" yazıyor, ancak ekranın altındaki metin (bu kitabın maliyeti 0,56). . Sanırım başka bir maliyet anlamına geliyorlar, ancak başka bir yerde referans bulamıyorum.
Birisi yardım edebilir mi? Kafam karıştı.