ТОП 7 ошибок в запросах по версии стандартов 1С
РУБРИКА «ЧёПоСтандартам»
Типичные причины неоптимальной работы запросов и методы оптимизации
🔝 Статья в стандартах про причины неоптимальной работы запросов, это пожалуй одна из самых важных статей, которую я рекомендую запомнить и уметь применять, особенно если вы новичок!
Итак, вот ТОП 7️⃣ причин неоптимальной работы запросов (с кратким решением проблемы):
1️⃣ Соединения с подзапросами - использовать временные таблицы;
2️⃣ Соединения с виртуальными таблицами - добавить результат запроса к виртуальной таблице во временную таблицу;
3️⃣ Несоответствие индексов и условий запроса - проверить условие запроса и имеющиеся индексы по метаданным;
4️⃣ Использование логического ИЛИ в условиях секции ГДЕ - разделить запрос на два и объединить результаты;
p.s. для меня когда-то было прям открытие, когда запрос начал работать в 10-ки раз быстрее)
5️⃣ Использование подзапросов в условии соединения - использовать временные таблица;
6️⃣ Получение данных через точку от полей составного типа - использовать функцию ВЫРАЗИТЬ();
p.s. тут надо быть внимательнее, так как иногда это может и не дать результата, если выбираются значения всех типов из реквизита составного типа.
7️⃣ Фильтрация виртуальных таблиц без использования параметров - перенести условие из секции ГДЕ в параметры виртуальной таблицы;
p.s. тут без комментариев, это в целом вопрос к знанию языка запросов)
📢 И конечно же, тут нужно быть внимательнее и проверять, так как в конкретно вашем случае, на вашей СУБД и т.п., ситуация может быть иной, но учитывать эти ошибки возможные точно нужно всегда!
P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
Post #466
5.06K
- 👍 16
- ✍ 11
- ❤ 4
- 🔥 4
- 👌 3
- 🫡 1