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

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

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

1

Дополнительные индексы доступны только для КОРП платформы. Для ПРОФ платформы использовать не получится.

2

При разработке тестируйте и оптимизируйте производительность в двух случаях:

  • дополнительные индексы включены;
  • дополнительные индексы выключены.

На относительно небольшом объеме данных — ориентировочно от 100 тыс. до 1 млн записей — производительность без дополнительных индексов должна оставаться приемлемой. При превышении этого объема приемлемая производительность должна гарантироваться включением дополнительных индексов.

В стандарте не указано

Доп. индексы управляются параметром информационной базы Использовать дополнительные индексы. Его можно изменить через конфигуратор или программно УстановитьИспользованиеДополнительныхИндексов().

Реальное перестроение индекса произойдет при следующем обновлении конфигурации с реструктуризацией или запуском тестирования и исправления в режиме включения КОРП функций.

3

Не используйте доп. индексы если можно достичь хорошей производительности без них.

4

Не делайте несколько веток кода в зависимости от использования доп. индексов.

Неправильно

Если ПолучитьИспользованиеДополнительныхИндексов() Тогда

    // Особенности при включенных доп. индексах

КонецЕсли;
4.1

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

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

5

Поле в доп. индекс добавляют в двух случаях:

  • чтобы использовать в условиях запросов - как индексируемое (ключевое) поле
  • чтобы исключить обращение к таблице - как дополнительное (неключевое) поле

В стандарте не указано

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

См. также
Источник

https://its.1c.ru/db/v8std#content:791