Книга: Настольная книга 1С:Эксперта по технологическим вопросам
Назад: Пояснение к правилу 10 (не соединять виртуальные таблицы с реальными, а также виртуальные с виртуальными)
Дальше: Пояснение к правилу 14 (избегать запросов к пустым таблицам в режиме автоматического управления блокировками «1С»)

Пояснение к правилу 13 (в проблемных запросах отказываться от ИЛИ)

Приведем пример из статьи К. Рупасова.

Не следует использовать ИЛИ в секции ГДЕ запроса. Это может привести к тому, что СУБД не сможет использовать индексы таблиц и будет выполнять сканирование, что увеличит время работы запроса и вероятность возникновения блокировок. Вместо этого следует разбить один запрос на несколько и объединить результаты.

Например, запрос:

ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = "001" ИЛИ Артикул = "002"

 

следует заменить на запрос:

 

ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = "001"

|ОБЪЕДИНИТЬ ВСЕ

|ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = "002"

Назад: Пояснение к правилу 10 (не соединять виртуальные таблицы с реальными, а также виртуальные с виртуальными)
Дальше: Пояснение к правилу 14 (избегать запросов к пустым таблицам в режиме автоматического управления блокировками «1С»)