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

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

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

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

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

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

См. также

Экранирование кода

// sonar:UsingNoWithLogicalAndInOn:off
// sonar:UsingNoWithLogicalAndInOn:on