Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вопрос по динамическому выполнению запросов  [new]
maximaz
Guest
Кэшируется ли план выполнения процедуры запущенной в динамическом запросе?
19 июл 11, 11:57    [10993840]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
maximaz
Guest
Понятно, что речь идет о sp_executesql
19 июл 11, 11:59    [10993864]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Да. BOL->Using sp_executesql
19 июл 11, 12:01    [10993883]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
maximaz
Guest
Как-то обтекаемо написано :-( "оптимизатор, скорее всего, сопоставит план выполнения".

Почему вопрос и возник - если оптимизатор не сопоставит план запуска процедуры, но она закэширована, будет-ли подобран план ее работы? Будет ли сама она кэшироваться при динамическом запуске?

Во как, сразу два вопроса выявлено :-)
19 июл 11, 12:09    [10993946]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximaz
Почему вопрос и возник - если оптимизатор не сопоставит план запуска процедуры, но она закэширована, будет-ли подобран план ее работы?

А откуда вдруг взялся "план процедуры", если у вас динамический запрос ?
19 июл 11, 12:16    [10994009]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
maximaz
Guest
Glory, о чем и спрашиваю :-) Будет ли подготовлен план процедуры и будет ли он использован
19 июл 11, 12:19    [10994032]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximaz
Glory, о чем и спрашиваю :-) Будет ли подготовлен план процедуры и будет ли он использован

Какой процедуры то ?
sp_executesql есть server internal процедура, а не TSQL
У нее не может быть никакого плана
19 июл 11, 12:21    [10994045]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
maximaz
Guest
Процедура, например SelectAllMoneyProc. Выполняем ее с помощью sp_executesql, с разными параметрами.
Будет ли кэшироваться план выполнения SelectAllMoneyProc. Либо при каждом запуске формироваться заново
19 июл 11, 12:28    [10994089]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
maximaz
Процедура, например SelectAllMoneyProc. Выполняем ее с помощью sp_executesql, с разными параметрами.
Будет ли кэшироваться план выполнения SelectAllMoneyProc. Либо при каждом запуске формироваться заново
Конечно будет.
19 июл 11, 12:44    [10994212]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximaz
Процедура, например SelectAllMoneyProc. Выполняем ее с помощью sp_executesql, с разными параметрами.
Будет ли кэшироваться план выполнения SelectAllMoneyProc. Либо при каждом запуске формироваться заново

Процедурам все равно, как ее запускают. Для них есть свои правила кэширования планов
19 июл 11, 12:46    [10994232]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
maximaz
Guest
Спасибо за толкование BOL
19 июл 11, 12:49    [10994257]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximaz
Спасибо за толкование BOL

Потому что зачем ваполнять процедуру в динамике, когда команда exec и так принимает имя процедуры через переменную ?
19 июл 11, 12:53    [10994282]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
maximaz
Guest
Ой-ей... (смущенно) забыл-забыл
19 июл 11, 12:57    [10994332]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по динамическому выполнению запросов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а веть option ( parametrization еще есть... временами шибко помогает
19 июл 11, 13:03    [10994398]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить