Дополнительные индексы

#std791

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

Дополнительный индекс – это индекс сразу по нескольким полям объекта метаданных с возможностью включения в индекс дополнительных неиндексируемых полей.

1. Дополнительные индексы следует применять в функциональности конфигураций и библиотек, которые могут использоваться на крупных предприятиях с КОРП лицензиями платформы. Если конфигурация будет использоваться на небольших предприятиях только с ПРОФ лицензиями платформы, то дополнительные индексы использовать нельзя.

2. Производительность с отключенными дополнительными индексами должна быть приемлемой на относительно небольшом объёме данных в таблицах (ориентировочно 100 000 – 1 000 000 записей), а при превышении этого объёма, приемлемая производительность должна гарантироваться включением дополнительных индексов.

При разработке необходимо тестировать и оптимизировать производительность, как с включенными, так и с отключенными дополнительными индексами.

3. Если приемлемую производительность на любом объёме данных можно достичь без дополнительных индексов, то следует использовать обычные индексы.

4. Рекомендуется поддерживать только одну ветку кода в соответствии с п. 1, а не создавать несколько веток кода, одну с дополнительными индексами и другую с альтернативными решениями без дополнительных индексов.

4.1. В тех случаях, когда на небольшом объёме данных не удаётся обеспечить минимальную производительность с отключенными дополнительными индексами, в порядке исключения допустимо альтернативное решение.

Под минимальной производительностью подразумевается, что интерактивные операции (например, открытие форм списков) не должны превышать целевое время в 1 секунду, формирование отчётов не должно замедляться более чем в 2 раза и т.п.

5. Если поле, добавляемое в индекс, не используется в условиях запросов, а используется только для исключения обращения к таблице, то рекомендуется делать такое поле дополнительным (включаемым), а не индексируемым (ключевым). Это позволит добавить больше индексируемых полей в индекс при необходимости.

Дополнительная информация (ИТС):