Saya sedang mencari-cari cache rencana, mencari buah optimasi yang rendah dan menemukan potongan ini:
Mengapa banyak biaya yang tercantum di atas 100%? Bukankah itu tidak mungkin?
sql-server
sql-server-2012
ssms
execution-plan
Max Vernon
sumber
sumber
Jawaban:
Pengukur biaya visual adalah omong kosong. Hal-hal semacam ini terjadi setiap saat. Hanya pergi dengan yang tertinggi adalah yang paling mahal dan serang yang pertama.
sumber
Saya juga ingin tahu mengapa kadang-kadang beberapa biaya ditampilkan sebagai 100%, 200%, 300% ... dan bahkan lebih. Setelah menganalisis file xml dari rencana kueri, saya mendapatkannya.
Persentase biaya =
EstimatedTotalSubtreeCost
simpul orang tua sayaEstimatedTotalSubtreeCost
Misalnya, rencana kueri Anda menunjukkan
Clustered Index Insert
biaya 914%, untuk memahami cara menghitung persentase ini,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
sumber
0.002/2.18
adalah0.000917
(yang sama dengan0.0917%
) dan tidak914%
.