Издревле в конструкциях из иннер джойнов с лефтом на хвосте, типа

From A
 Join B On A.ID=B.ID
 Join C On C.ID=B.ID
 Left Join D On D.ID=C.ID
Where A.ID=1

парсер пропускал недописанную секцию Plan, типа

Plan Join (A Index (A_PK),
           B Index (B_PK),
           C Index (C_PK))

Типа, пока я не претендую на основы мироздания в плане индекса на левосджойненной D, то оно не возражало. И даже порой взирало благосклонно, ибо если запрос запускался без эдакой кастрированной секции Plan, то сервак ложился на пол и грустно моргал глазками, а с нею никаких неудобств не испытывал. И мне такой подход нравился, и я даже просил как-то расширить его применение в область чиста иннеров, типа задал индексы-порядок объединения пары-тройки первых таблиц в этажерке, а дальше ему и самому обычно несложно разобраться.

Не менее издревле в таких же запросах тот же сервак порой игнорировал, напрочь и молча, что дописанный до конца, что недописанный, как недопустимый, так и допустимый, но почему-либо сильно ему не нравящийся план (причём на самом деле обычно хароший) и упёрто поступал по своему, не считая нужным ни послушаться, ни известить меня о моей глупости, что вело всё к тому же укладыванию на пол и морганию глазками. И такой подход мне совсем не нравился, я просил, чтоб он либо делал що велено, либо слал бы меня в сад, если я задал недопустимый план. Что мне было обещано в двойке. И, что характерно, выполнено. Шлёт в сад с некорректным планом, а не подсовывает свой. Вот только считает нынче некорректным недописанный план из первого абзаца не только в иннерах, но и в рассматриваемых конструкциях.

В общем, складываеццо впечатление, что вместе с водой выплеснули и ребёнка. Я не сильно на эту фичу закладывался, за недельку всяко могу адаптироваться, но знаю людей, которые её пользовали в полный рост. Что удивительно, в число этих людей, если мне не изменяет склероз, входит и Влад Хорсун 8-0

--
Regards. Ded.

Ответить