Я просматриваю кэш плана, ищу низко висящие фрукты оптимизации и наткнулся на этот фрагмент:
Почему многие расходы указаны выше 100%? Разве это не может быть невозможно?
sql-server
sql-server-2012
ssms
execution-plan
Макс Вернон
источник
источник
Ответы:
Визуальная оценка стоимости - это дерьмо. Подобные вещи случаются постоянно. Просто выберите самые дорогие и атакуйте их первыми.
источник
Мне также было любопытно, почему иногда некоторые расходы отображаются как 100%, 200%, 300% ... и даже больше. После анализа XML-файла плана запроса, я получил его.
Процент затрат = мой
EstimatedTotalSubtreeCost
/ родительский узелEstimatedTotalSubtreeCost
Например, ваш план запроса показывает
Clustered Index Insert
стоимость 914%, чтобы понять, как рассчитать этот процент,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
есть0.000917
(что так же как0.0917%
) а нет914%
.