└── Чек-лист запросы.txt /Чек-лист запросы.txt: -------------------------------------------------------------------------------- 1 | 1. Общие требования по разработке оптимальных запросов (https://its.1c.ru/db/v8std/content/2149184378/hdoc) 2 | 1.1 Выбираются только те данные которые требуются. 3 | 1.2 Общее количество запросов к СУБД минимизированно. 4 | 1.3 Отсутствие "излишней" логики в запросе. 5 | 2. Несоответствие индексов и условий запроса. (https://its.1c.ru/db/v8std/content/2149184301/hdoc) 6 | 2.1 Для всех условий, использованных в запросе, имеются подходящие индексы. 7 | 3. Разыменование ссылочных полей составного типа в языке запросов. (https://its.1c.ru/db/v8std/content/2149184303/hdoc) 8 | 3.1 Используется функция ВЫРАЗИТЬ при обращении к подчиненным реквизитам полей составного типа. 9 | 4. Ограничения на соединения с вложенными запросами и виртуальными таблитцами. (https://its.1c.ru/db/v8std/content/2149184304/hdoc) 10 | 4.1 Соединения с вложенными запросами отсутствуют. 11 | 4.2 Если есть соединение с виртуальной таблицей, то оно оптимальнее чем перемещение данных виртуальной таблицы во временную. 12 | 4.3 Отсутствие вложенных соединений. 13 | 5. Ограничения на использование вложенных запросов в условиях соединения. (https://its.1c.ru/db/v8std/content/2149184305/hdoc) 14 | 5.1 В условиях соединения отсутствуют вложенные запросы. 15 | 6. Обращения к виртуальным таблицам. (https://its.1c.ru/db/v8std/content/2149184306/hdoc) 16 | 6.1 Условия отбора для виртуальной таблицы передаются через параметры виртуальной таблицы. 17 | 6.2 Используются максимально простые условия в параметрах виртуальной таблицы. 18 | 6.3 Отсутствуют подзапросы и соединения в параметрах виртуальной таблицы. 19 | 6.4 При наличии подзапросов в прараметрах вирт. таблицы. В подзапросе только одна таблица, нет соединений с другими таблицами. 20 | 6.5 При наличии подзапросов в прараметрах вирт. таблицы. Нет обращений к реквизитам таблицы - шапки. 21 | 6.6 При наличии подзапросов в прараметрах вирт. таблицы. Если в подзпапросе таблица, у которой могут быть табличные части, то не должно быть обращений к этим табличным частям. 22 | 6.7 При наличии подзапросов в прараметрах вирт. таблицы. Если в подзапросе временная таблица, то не должно быть условий раздела ГДЕ. 23 | 6.8 При наличии подзапросов в прараметрах вирт. таблицы. Если в подзапросе постоянная таблица, то условие ГДЕ допустимо, только если условие выполняется для 80% (или более) случаев, отсутствие условия озночает выполнение для 100% случаев. 24 | 7. Эффективные условия запросов (https://its.1c.ru/db/v8std/content/2149184307/hdoc) 25 | 7.1 Поля основного условия проиндексированы. 26 | 7.2 Если основное условие уточняется дополнительным, то эти условия объедитняются только по И. 27 | 7.3 Оператор ИЛИ используется только в дополнительных условиях. 28 | 7.4 Условия гден используется оператор ИЛИ, можно переписать при помощи оператора В. 29 | 7.5 Выражение ВЫБОР используется только в дополнительных условиях. 30 | 7.6 Аримфметические операции используются только в дополнительных условиях. 31 | 8. Разрешение итогов для периодических регистров сведений. (https://its.1c.ru/db/v8std/content/2149184357/hdoc) 32 | 8.1 Итоги разрешены, в случае: в регистре ожидается большой объем данных (например, оправдано для регистра с ценами номенклатуры; но не имеет смысла для регистра с курсами валют). 33 | 8.2 Итоги разрешены, в случае: в конфигурации предусмотрены частые запросы к срезам последних на текущий момент времени и/или к срезам первых для получения актуальных данных (т.е. когда не задан период в параметрах виртуальных таблиц СрезПервых и СрезПоследних). 34 | 8.3 Итоги разрешены, в случае: при этом остальные условия для виртуальных таблиц СрезПервых и СрезПоследних задаются только на значения измерений (и разделителей, находящихся в режиме Независимо и совместно). 35 | 8.4 Итоги разрешены, в случае: в ограничениях доступа к данным регистра используются только измерения (и разделители, находящиеся в режиме Независимо и совместно). 36 | 8.5 Итоги не разрешены, в случае: чаще всего (всегда) к виртуальным таблицам среза первых/последних периодического регистра сведений выполняются запросы на конкретный период. 37 | 8.6 Итоги не разрешены, в случае: в условиях для виртуальных таблиц СрезПервых и СрезПоследних чаще всего (всегда) используются подзапросы и соединения. 38 | 9. Эффективное обращение к виртуальной таблице <Остатки> (https://its.1c.ru/db/v8std/content/2149184382/hdoc) 39 | 9.1 Получение остатков ведется без указания даты. 40 | 9.2 Не используется разделение итогов. 41 | 9.3 Внешний по отношению к виртуальной таблице запрос использует все измерения (в предложении ВЫБРАТЬ или условиях соединения) 42 | 10. Использование временных таблиц. (https://its.1c.ru/db/v8std/content/2149184426/hdoc) 43 | 10.1 Отсутствует запись большего объема данных во временные таблицы. 44 | 10.2 Количество данных отбираемое во временную таблицу максимально ограничено. 45 | 10.3 Во временной таблице нет неиспользуемых полей. 46 | 10.4 Отсутствует копирование временных таблиц. 47 | 10.5 Построены индексы для полей соединения и условий (для больших таблиц > 1000 записей). 48 | 10.6 Построен индекс для наиболее часто проверяемого условия. --------------------------------------------------------------------------------