Сергей
Дата: 15.08.2000 13:53:23
При работе в MSSQL 7.0 со вложенными хранимыми процедурами у меня
возникло несколько вопросов:
Меняются ли планы выполнения вложенных процедур при изменение входных параметров ?
И при каких условиях план выполнения процедур будет создаваться занова ?
Возможно ли в MSSQL 7.0 сделать так, чтоб планы выполнения хранимых процедур не менялись ?
Evgeny
Дата: 17.09.2000 18:56:15
Судя по разделу помощи в онлайн-документации, при разных входных параметрах планы выполнения не изменяться. Вот использование кэша - да. Насколько я понял, запросы не считаются идентичными для разных параметров.
Условия изменения (перекомпиляции) плана запросов следующие:
1. Любые структурные изменения касающиеся запросов и представлений
2. Если явно исполнился оператор сбора статистики подобный UPDATE STATISTICS
3. Был удален индекс использующийся в плане исполнения
4. Явно была исполнена процедура sp_recompile
5. Большое число изменений в таблице н которую ссылается запрос вызванных операторами insert и delete
6. Для таблиц имеющих триггеры при большом числе всавок и удалений
Последние два пункта мне не совсем понятны (причины перекомпиляции).
Существует еще время жизни планов выполнения, там же: "Execution Plan Caching and Reuse"
Глядя на причины перекомпиляции, легко можно ответить на последний вопрос.
Евгений
kar@freemail.ru
Evgeny
Дата: 17.09.2000 18:56:59
Судя по разделу помощи в онлайн-документации, при разных входных параметрах планы выполнения не изменяться. Вот использование кэша - да. Насколько я понял, запросы не считаются идентичными для разных параметров.
Условия изменения (перекомпиляции) плана запросов следующие:
1. Любые структурные изменения касающиеся запросов и представлений
2. Если явно исполнился оператор сбора статистики подобный UPDATE STATISTICS
3. Был удален индекс использующийся в плане исполнения
4. Явно была исполнена процедура sp_recompile
5. Большое число изменений в таблице н которую ссылается запрос вызванных операторами insert и delete
6. Для таблиц имеющих триггеры при большом числе всавок и удалений
Последние два пункта мне не совсем понятны (причины перекомпиляции).
Существует еще время жизни планов выполнения, там же: "Execution Plan Caching and Reuse"
Глядя на причины перекомпиляции, легко можно ответить на последний вопрос.
Евгений
kar@freemail.ru