Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
AlexanP
Member

Откуда:
Сообщений: 158
MS SQL 2000

Кто-нибудь сталкивался с проблемами, когда в конструкции
select
from
table1,
table2,
where
...
option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)

используется option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN) ?
При этом таблицы "правильно" расставлены и select быстро выполняется.
НО, когда пытаемся сделать запрос типа

update table1
set =
from
table1,
table2,
where
...
option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)

то план запроса становится таким кривым, что он очень нескоро заканчивается.
А как только в запросе на update убираем строку
option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)
то все делается быстро как и в select.
23 мар 09, 15:18    [6963921]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
Серг70
Member

Откуда: Москва
Сообщений: 273
Известный факт, что при изменениях и вставках в таблицы эти опции (как и set forceplan on) лучше отключать - получается много быстрее
25 мар 09, 13:05    [6972825]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
AlexanP
Member

Откуда:
Сообщений: 158
Серг70
Известный факт, что при изменениях и вставках в таблицы эти опции (как и set forceplan on) лучше отключать - получается много быстрее


А можно узнать подробности ? Известен ли этот факт Микрософт ?
Есть ли рекомендации ?
25 мар 09, 14:20    [6973381]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Рекомендация от Microsoft - вообще не использовать хинты.
Вместо этого лучше поддерживать статистики в актуальном состоянии и смотреть, каких индексов нехватает.
25 мар 09, 14:29    [6973434]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
AlexanP
Member

Откуда:
Сообщений: 158
Тут наткнулся на статью см: http://sqlclub.ru/forum/viewtopic.php?t=1061
25 мар 09, 16:33    [6974416]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
Solo_Mes
Member

Откуда: Минск
Сообщений: 247
Серг70,

Столкнулся с подобной ситуацией в триггере. Софт сторонний, при создании клиентом сессии устанавливается опция forceplan on. В триггере сбрасываю данный флаг, но теперь - перекомпиляция триггера при каждом вызове, хоть и работает значительно быстрее. Может кто подскажет, есть ли выход?
30 июн 09, 00:04    [7356675]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
аффтор
Guest
Бггг, здравствуй, 5NT

(a keepfixed plan я собственноручно ввел в обиход)))) )
27 июн 13, 19:03    [14493943]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3618
аффтор
Бггг, здравствуй, 5NT

(a keepfixed plan я собственноручно ввел в обиход)))) )

диасофт??
бессмысленный и песпощадный?
27 июн 13, 19:04    [14493946]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
аффтор
Guest
Ivan Durak,

конечно он. но не бессмысленный
4 июл 13, 19:24    [14524378]     Ответить | Цитировать Сообщить модератору
 Re: Использование "option (FORCE ORDER, LOOP JOIN, KEEPFIXED PLAN)"  [new]
Crimean
Member

Откуда:
Сообщений: 13148
аффтор,

да, рекомпиляции оно уменьшает
4 июл 13, 19:25    [14524381]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить