Издревле в конструкциях из иннер джойнов с лефтом на хвосте, типа
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.