Перейти к содержанию

Использование отрицания Не для условия И в секции "ПО" запроса

Использование НЕ перед логической конструкцией И фактически означает выражение с условием ИЛИ. Не рекомендуется использовать логическое ИЛИ в условиях соединения, то есть в секции ПО запроса. Подобные сложные условия могут привести к выбору неоптимального плана и медленной работе запроса.

Простого универсального способа переписать такой запрос без использования ИЛИ не существует. Следует проанализировать решаемую задачу и попытаться найти другой алгоритм ее решения.

Подозрительный код

ИЗ Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕСОЕДИНЕНИЕ Справочник.Прайсы КАК Прайсы
   ПО НЕ(Прайсы.НаименованиеТовара = СправочникНоменклатура.Наименование
        И Прайсы.АртикулТовара = СправочникНоменклатура.Артикул)

См. также - Типичные причины неоптимальной работы запросов и методы оптимизации - Эффективные условия запросов - правило Использование отрицания Не для условия И в секции ГДЕ запроса - правило Использование логического "ИЛИ" в секции "ГДЕ" запроса - правило Использование логического "ИЛИ" в секции "ПО" запроса