Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Разные execution plans для запросов и процедур
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь сталкивался с тем, что при помещении запроса внутрь хранимой процедуры, генерится совершенно другой execution plan - и производительность может отличаться в разы. Я последнее время часто с этим сталкиваюсь, как на SQL7 так и на SQL2000. Пока нашел только одно решение - использовать hints. Чаще всего при запуске запроса из QA генерится план, использующий LOOP JOINS, а в процедурах используется либо MERGE, либо HASH joins. Не очень я люблю hints использовать - изменится завтра статистика, и жестко-заданный план станет неэффективным. С другой стороны - ждать результат из процедуры 5 секунд, в то время как тот же запрос из QA вернет результат за 700 миллисекунд, тоже неохота. И еще один связанный вопрос - если я явно прописываю тип джойна в виде Table1 INNER LOOP JOIN Table2 - SQL всегда выдает предупреждение, что тип джойна был переопределен - эти сообщения иногда напрочь убивают клиентское приложение, которое их не ожидает. Если я делаю то же самое, но в виде OPTION (LOOP JOIN) - никаких сообщений не генерится. Проблема в том, что OPTION действует на весь запрос, в котором может быть несколько джойнов, а иногда хотелось бы переопределить только один джойн... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 14:22 |
|
||
|
Разные execution plans для запросов и процедур
|
|||
|---|---|---|---|
|
#18+
A with recompile не помогает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 19:03 |
|
||
|
Разные execution plans для запросов и процедур
|
|||
|---|---|---|---|
|
#18+
recompile не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2002, 09:53 |
|
||
|
Разные execution plans для запросов и процедур
|
|||
|---|---|---|---|
|
#18+
при компиляции Sp с параметрами оптимизатор, кажется, руководствуется средними селективностями по параметрам. При выполнении просто запроса он точнее оценивает селективности (т.к. знчения параметров уже известны) и строит лучший план запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2002, 11:50 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32029437&tid=1822873]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 409ms |

| 0 / 0 |
