Чи є відсотки витрат у цьому плані SQL Server понад 100% з поважної причини?


14

Я переглядаю кеш плану, шукаю низько висячі плоди оптимізації та натрапив на цей фрагмент:

введіть тут опис зображення

Чому багато витрат перераховані вище 100%? Це не повинно бути неможливим?


Я навіть бачив витрати до 1 млн.% Від прогнозного плану. Просто використовуйте реальну вартість, вона повинна бути кращою.
Маріан

5
Тому що математика SQL Server заплутана. Візьміть наш безкоштовний Провідник плану ; у нас немає цієї проблеми.
Аарон Бертран

Я люблю SQL Sentry Plan Explorer, Aaron - я його використовую вже деякий час. Я хочу побачити, що робить професійна версія!
Макс Вернон

Відповіді:


13

Візуальний оцінювач вартості - лайно. Такі речі трапляються постійно. Просто йдіть з найвищими найдорожчими і нападайте на них першими.


Ви коли-небудь бачили це з попередніми версіями SQL Server? Що стосується мене, я ніколи цього не помічав, наприклад, на SS 2008R2.
KookieMonster

5
Я бачив це ще до SQL 2000. Наскільки я знаю, це лише помилка в SSMS (і EM), коли він робить математику, щоб з'ясувати відсотки.
mrdenny

2

Мені також цікаво, чому іноді деякі витрати відображаються як 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


1
0.002/2.18є 0.000917(що таке саме 0.0917%) і немає 914%.
ypercubeᵀᴹ

дякую за ваш коментар Я зміню свою відповідь. Зрештою, це лише зразок, який показує, як обчислити відсоток.
osexp2003
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.