Apakah persentase biaya dalam paket SQL Server ini lebih dari 100% untuk alasan yang sah?


13

Saya sedang mencari-cari cache rencana, mencari buah optimasi yang rendah dan menemukan potongan ini:

masukkan deskripsi gambar di sini

Mengapa banyak biaya yang tercantum di atas 100%? Bukankah itu tidak mungkin?


Saya bahkan melihat biaya hingga 1 mill% dari rencana yang diperkirakan. Cukup gunakan biaya riil, itu harus lebih baik.
Marian

5
Karena matematika SQL Server kacau. Raih Penjelajah Paket gratis kami ; kami tidak memiliki masalah ini.
Aaron Bertrand

Saya suka SQL Sentry Plan Explorer, Aaron - Saya sudah menggunakannya untuk sementara waktu sekarang. Saya ingin melihat apa yang dilakukan versi pro!
Max Vernon

Jawaban:


12

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.


Pernahkah Anda melihat ini dengan versi SQL Server sebelumnya? Sejauh yang saya ketahui, saya belum pernah melihatnya di SS 2008R2 misalnya.
KookieMonster

5
Saya telah melihatnya sepanjang perjalanan kembali ke SQL 2000. Sejauh yang saya tahu itu hanya bug di SSMS (dan EM) ketika melakukan matematika untuk mencari tahu persentase.
mrdenny

2

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 = EstimatedTotalSubtreeCostsimpul orang tua sayaEstimatedTotalSubtreeCost

Misalnya, rencana kueri Anda menunjukkan Clustered Index Insertbiaya 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


1
0.002/2.18adalah 0.000917(yang sama dengan 0.0917%) dan tidak 914%.
ypercubeᵀᴹ

Terima kasih atas komentarmu. Saya akan mengubah jawaban saya. Bagaimanapun, ini hanyalah contoh untuk menunjukkan bagaimana cara menghitung persentase.
osexp2003
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.