Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Какой план лучше  [new]
beaver06
Member

Откуда:
Сообщений: 681
Подскажите, пожалуйста, можно ли однозначно определить какой план лучше?
Во вложении планы запросов. Или и без планов видно какой запрос лучше.

Запросы такие:

select comp,app,[service] FROM [dbo].[ServiceHistory] WHERE idh>(select min(idh) from [Monitor].[dbo].[ServiceHistory] where date_add>dateadd(mi,-5,GETDATE()))
group by comp,app,[service]
having COUNT(comp)>=4



select comp,app,[service] FROM [dbo].[ServiceHistory] WHERE date_add>dateadd(mi,-5,GETDATE())
group by comp,app,[service]
having COUNT(comp)>=4


К сообщению приложен файл. Размер - 81Kb
11 апр 13, 15:21    [14167655]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
beaver06,

Выполните оба запроса в одном баче. Студия Вам покажет процентное распределение стоимости планов (актуальных) запросов внутри бача.

Добавьте еще вывод статистики IO и TIME. Тоже неплохо бы сравнить.
11 апр 13, 15:45    [14167899]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
beaver06
Member

Откуда:
Сообщений: 681
pkarklin,

Для первого запроса query cost = 94%, для второго 6%. Значит второй лучше?
11 апр 13, 15:54    [14167990]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
beaver06
Member

Откуда:
Сообщений: 681


К сообщению приложен файл. Размер - 44Kb
11 апр 13, 15:56    [14168012]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
beaver06
pkarklin,

Для первого запроса query cost = 94%, для второго 6%. Значит второй лучше?

а чё-то у вас в рисунке с двумя планами, первый план уже отличается от первого плана в первом посте?????????
11 апр 13, 17:11    [14168570]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
Grigory_R
Member

Откуда: Москва
Сообщений: 47
если скорость критична,
dateadd(mi,-5,GETDATE())) - "за скобки"
11 апр 13, 17:42    [14168792]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Второй явно лучше, потому что для него есть подходящий индекс, который уже, чем кластерный.
11 апр 13, 18:12    [14168969]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
pkarklin
Студия Вам покажет процентное распределение стоимости планов (актуальных) запросов внутри бача.
Как бы не так. Стоимости всегда оценочные, потому что считаются до выполнения запроса на основе статистик и не учитывают реальные данные.
11 апр 13, 20:51    [14169618]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Mind
Как бы не так. Стоимости всегда оценочные, потому что считаются до выполнения запроса на основе статистик и не учитывают реальные данные.


Я готов вступить в дискуссию по поводу двух приведенных планов, разница в которых видна невооруженным глазом для искушённого пользователя. Но автору топика в соответствии с его уровнем подготовки будет достаточно озвученного сравнения.
11 апр 13, 20:59    [14169647]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
Mind
pkarklin
Студия Вам покажет процентное распределение стоимости планов (актуальных) запросов внутри бача.
Как бы не так. Стоимости всегда оценочные, потому что считаются до выполнения запроса на основе статистик и не учитывают реальные данные.

Спасибо что сказали, а то начал сомневаться уже...
11 апр 13, 21:18    [14169724]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Mind
pkarklin
Студия Вам покажет процентное распределение стоимости планов (актуальных) запросов внутри бача.
Как бы не так. Стоимости всегда оценочные, потому что считаются до выполнения запроса на основе статистик и не учитывают реальные данные.
Они может и оценочные, но план с худшей стоимостью гораздо реже бывает лучше более "дешевого" плана. Очень гораздо.
12 апр 13, 00:12    [14170319]     Ответить | Цитировать Сообщить модератору
 Re: Какой план лучше  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Гавриленко Сергей Алексеевич
Mind
пропущено...
Как бы не так. Стоимости всегда оценочные, потому что считаются до выполнения запроса на основе статистик и не учитывают реальные данные.
Они может и оценочные, но план с худшей стоимостью гораздо реже бывает лучше более "дешевого" плана. Очень гораздо.
Есть исключения из правил.
Например сравните план тяжелого запроса, с тем же запросом, но где добавлен фильтр с использованием табличной переменной... разница в оценках будет в разы, выполнение может тоже в разы отличаться, только уже в другую сторону.
12 апр 13, 02:55    [14170589]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить