Bu SQL Server'daki maliyet yüzdeleri geçerli bir nedenden dolayı% 100'ün üzerinde mi?


14

Plan önbelleğine bakıyorum, düşük asılı optimizasyon meyvelerini arıyorum ve bu snippet'e rastladım:

resim açıklamasını buraya girin

Maliyetlerin çoğu neden% 100'ün üzerinde listeleniyor? Bu imkansız olmamalı mı?


Tahmin edilen plandan% 1 milyona kadar maliyet bile gördüm. Sadece gerçek maliyeti kullanın, daha iyi olmalı.
Marian

5
Çünkü SQL Server'ın matematik karmakarışık. Ücretsiz Plan Explorer'ımızı alın ; bu problemimiz yok.
Aaron Bertrand

SQL Sentry Plan Explorer'ı seviyorum, Aaron - Bir süredir kullanıyorum. Pro sürümünün ne yaptığını görmek istiyorum!
Max Vernon

Yanıtlar:


13

Görsel maliyet tahmincisi boktan. Bu tür şeyler her zaman olur. Sadece en pahalı olanlarla git ve en pahalı olanlara ilk önce saldır.


Bunu SQL Server'ın önceki sürümleriyle hiç gördünüz mü? Mesela, SS 2008R2'de hiç farketmedim.
KookieMonster

5
SQL 2000'e kadar geri döndüm. Bildiğim kadarıyla, SSMS'de (ve EM'de) yüzdeleri bulmak için matematik yaparken bir hata.
mrdenny

2

Ayrıca bazen bazı maliyetlerin neden% 100,% 200,% 300 ... ve daha fazlası olarak görüntülendiğini merak ediyordum. Sorgu planının xml dosyasını analiz ettikten sonra anladım.

Maliyet yüzdesi = EstimatedTotalSubtreeCost/ üst düğümümEstimatedTotalSubtreeCost

Örneğin, sorgu planınız Clustered Index Insertbu yüzdeyi nasıl hesapladığını anlamak için% 914 maliyet alıyor, 1. Move mouse to `Clustered Index Insert` to show popup, you can see the cost `EstimatedTotalSubtreeCost`, e.g, 0.2 2. Move mouse to this node's parent node `COND WITH QUERY`, check the popup to get `EstimatedTotalSubtreeCost`, e.g, 0.0218818 3. Calculate 0.2/0.0218818 = 914%, this is the cost percentage displayed in `Clustered Index Insert` popup


1
0.002/2.18olduğu 0.000917(aynı olan 0.0917%ve) 914%.
ypercubeᵀᴹ

yorumun için teşekkür ederim. Cevabımı değiştireceğim. Sonuçta, yüzdeyi nasıl hesaplayacağınızı gösteren sadece bir örnektir.
osexp2003
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.