Tôi đang xem qua bộ đệm của kế hoạch, tìm kiếm trái cây tối ưu hóa treo thấp và tình cờ thấy đoạn trích này:
Tại sao nhiều chi phí được liệt kê trên 100%? Điều đó có nên không thể?
Tôi đang xem qua bộ đệm của kế hoạch, tìm kiếm trái cây tối ưu hóa treo thấp và tình cờ thấy đoạn trích này:
Tại sao nhiều chi phí được liệt kê trên 100%? Điều đó có nên không thể?
Câu trả lời:
Công cụ ước tính chi phí trực quan là tào lao. Loại công cụ này xảy ra tất cả các thời gian. Chỉ cần đi với những người cao nhất là đắt nhất và tấn công những người đầu tiên.
Tôi cũng tò mò về lý do tại sao đôi khi một số chi phí được hiển thị là 100%, 200%, 300% ... và thậm chí nhiều hơn nữa. Sau khi phân tích tệp xml của kế hoạch truy vấn, tôi đã nhận được nó.
Tỷ lệ phần trăm chi phí = EstimatedTotalSubtreeCost
nút của tôi / chaEstimatedTotalSubtreeCost
Ví dụ: chương trình truy vấn của bạn hiển thị Clustered Index Insert
mất 914%, để hiểu cách tính phần trăm này,
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
0.002/2.18
là 0.000917
(giống như 0.0917%
) và không 914%
.