Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ХП must die?  [new]
C...R...a...S...H
Member

Откуда:
Сообщений: 188
Народ.
Почему при выполнении ХП with recompile содержашей много условий. Время выплнения соответствует времени выполнения всех запросов во всех условиях, пример:
if @ID=1
select * from tbl where key=1
else
if @ID=2
select * from tbl where key=2
else
select * from tbl
Время выполнения этой ХП будет равна времени выполнения всех 2-х запросов
28 фев 06, 11:25    [2398015]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
HOW TO Identify the Cause of Recompilation

INF Troubleshooting Stored Procedure Recompilation
28 фев 06, 11:30    [2398049]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
C...R...a...S...H
Время выполнения этой ХП будет равна времени выполнения всех 2-х запросов

Откуда такая уверенность?
28 фев 06, 11:45    [2398152]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
C...R...a...S...H
Member

Откуда:
Сообщений: 188
Я там ошибся не 2-х запросов, а 3-х
Уверенность такая, так как я протестировал
28 фев 06, 12:11    [2398330]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
C...R...a...S...H
Я там ошибся не 2-х запросов, а 3-х
Уверенность такая, так как я протестировал

И как же Вы протестировали?
28 фев 06, 12:13    [2398337]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
C...R...a...S...H
Member

Откуда:
Сообщений: 188
Гавриленко Сергей Алексеевич
C...R...a...S...H
Я там ошибся не 2-х запросов, а 3-х
Уверенность такая, так как я протестировал

И как же Вы протестировали?

Profiler+Query Analyser=изменяешь хранимку и смотришь на время выполнения
28 фев 06, 12:19    [2398389]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Гавриленко Сергей Алексеевич wrote:
> C...R...a...S...H
> Я там ошибся не 2-х запросов, а 3-х
> Уверенность такая, так как я протестировал
>
>
> И как же Вы протестировали?
к примеру, поелику запросы к махоньким таблам и всё такое...
меряем часиками (те, которые в QA ) время выполнения - и глядим...
шо время посыла, разбора, оптимизации, на покурить-умыться...
у всей процы - 2 секунды, а у кажного запроса - де-то 0.6.


--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

28 фев 06, 12:20    [2398398]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
C...R...a...S...H
Гавриленко Сергей Алексеевич
C...R...a...S...H
Я там ошибся не 2-х запросов, а 3-х
Уверенность такая, так как я протестировал

И как же Вы протестировали?

Profiler+Query Analyser=изменяешь хранимку и смотришь на время выполнения

Вы знаете, на таблице весом в миллион записей у меня лидирует, причем с большим отрывом, вариант, когда @ID = 3, так что неубедительно.
28 фев 06, 12:21    [2398403]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Гавриленко Сергей Алексеевич wrote:
> C...R...a...S...H
> Гавриленко Сергей Алексеевич
> C...R...a...S...H
> Я там ошибся не 2-х запросов, а 3-х
> Уверенность такая, так как я протестировал
>
>
> И как же Вы протестировали?
>
>
> Profiler+Query Analyser=изменяешь хранимку и смотришь на время выполнения
>
>
> Вы знаете, на таблице весом в миллион записей у меня лидирует, причем с
> большим отрывом, вариант, когда @ID = 3, так что неубедительно.
Вариант из серии "Чо думать, трясти надо!" из за сложности текста
рекомпиляция занимает куда больше времени, чем собственно выполнение.
Как вариант - побить процу на кучу маленьких проц-чубурашек.

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

28 фев 06, 12:26    [2398436]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
C...R...a...S...H
Member

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

Гавриленко Сергей Алексеевич wrote:
> C...R...a...S...H
> Гавриленко Сергей Алексеевич
> C...R...a...S...H
> Я там ошибся не 2-х запросов, а 3-х
> Уверенность такая, так как я протестировал
>
>
> И как же Вы протестировали?
>
>
> Profiler+Query Analyser=изменяешь хранимку и смотришь на время выполнения
>
>
> Вы знаете, на таблице весом в миллион записей у меня лидирует, причем с
> большим отрывом, вариант, когда @ID = 3, так что неубедительно.
Вариант из серии "Чо думать, трясти надо!" из за сложности текста
рекомпиляция занимает куда больше времени, чем собственно выполнение.
Как вариант - побить процу на кучу маленьких проц-чубурашек.

НАФЕРНОЕ ТАК И ПРИДЕТСЯ ДЕЛАТЬ.
ХОТЯ ПОКУРЮ ЕЩЕ СТАТЕЙКИ КОТОРЫЕ pkarklin ПОДКИНУЛ.
28 фев 06, 12:52    [2398625]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

C...R...a...S...H wrote:
> НАФЕРНОЕ ТАК И ПРИДЕТСЯ ДЕЛАТЬ.
> ХОТЯ ПОКУРЮ ЕЩЕ СТАТЕЙКИ КОТОРЫЕ pkarklin ПОДКИНУЛ.
ГЫ! покурите, покурите...
В статьях поясняется, как определить из за чего происходит частая (или
не очень) рекомпиляция ХП. Давайте я с одно разу угадаю, почему она
просиходит у Вас? Потому что вы ХП вызываете с опцией with recompile.
Правильно?

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

28 фев 06, 13:00    [2398682]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Вот хоть убейте, я не могу понять, как это
C...R...a...S...H
Время выплнения соответствует времени выполнения всех запросов во всех условиях

Дык ежли условия взаимоисключающие, как можно их времена складывать? выполняется ведь всегда только один из них.

И где точная уверенность, что узкое звено - это именно рекомпиляция? Откуда такие сведения? Может, там рекомпиляция - тьфу, а вот запросище такой лезет, что и занимает 99% от вашего сантиметра в QA.
28 фев 06, 13:01    [2398695]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
C...R...a...S...H
Member

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

C...R...a...S...H wrote:
> НАФЕРНОЕ ТАК И ПРИДЕТСЯ ДЕЛАТЬ.
> ХОТЯ ПОКУРЮ ЕЩЕ СТАТЕЙКИ КОТОРЫЕ pkarklin ПОДКИНУЛ.
ГЫ! покурите, покурите...
В статьях поясняется, как определить из за чего происходит частая (или
не очень) рекомпиляция ХП. Давайте я с одно разу угадаю, почему она
просиходит у Вас? Потому что вы ХП вызываете с опцией with recompile.
Правильно?

НЕА:)
Не угадал.
Хотя просмотрел изменение производительности с RECOMPILE и БЕЗ, разницы не заметил (В СРЕДНЕМ ОДНО И ТОЖЕ)
28 фев 06, 13:33    [2398897]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
C...R...a...S...H
Member

Откуда:
Сообщений: 188
GreenSunrise
Вот хоть убейте, я не могу понять, как это
C...R...a...S...H
Время выплнения соответствует времени выполнения всех запросов во всех условиях

Дык ежли условия взаимоисключающие, как можно их времена складывать? выполняется ведь всегда только один из них.

И где точная уверенность, что узкое звено - это именно рекомпиляция? Откуда такие сведения? Может, там рекомпиляция - тьфу, а вот запросище такой лезет, что и занимает 99% от вашего сантиметра в QA.

Я НЕ ГОВОРИЛ ЧТО ДАННОЕ ВРЕМЯ - ЭТО ВРЕМЯ РЕКОМПИЛЯЦИИ.
28 фев 06, 13:35    [2398911]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

C...R...a...S...H wrote:
> НЕА:)
> Не угадал.
> Хотя просмотрел изменение производительности с RECOMPILE и БЕЗ, разницы
> не заметил (В СРЕДНЕМ ОДНО И ТОЖЕ)
как тогда трактовать выдержку из исходного сообщения?
"Народ.
Почему при выполнении ХП _with recompile_ содержашей много условий. "


--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

28 фев 06, 18:29    [2400697]     Ответить | Цитировать Сообщить модератору
 Re: ХП must die?  [new]
C...R...a...S...H
Member

Откуда:
Сообщений: 188
Просто я уже убрал WITH RECOMPILE.
А проблему почти помола решить статья
INF Troubleshooting Stored Procedure Recompilation
у меня в хранимки стояло
SET CONCAT_NULL_YIELDS_NULL OFF
и поэтому он заново проект ее создавал.
когда я убрал этот оператор время выполнения стало в 8 раз меньше чем было раньше
1 мар 06, 09:17    [2401886]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить