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

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

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

1

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

2

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

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

Для таблиц до 1 млн записей должно работать быстро без доп. индексов. Для больших таблиц - производительность должна гарантироваться доп. индексами.

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

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

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

3

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

4

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

Неправильно

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

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

КонецЕсли;
4.1

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

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

Не понятно зачем нужен этот пункт "подстилка", ведь для того чтобы не исполнить стандарт разрешение стандарта не нужно :)

5

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

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

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

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

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

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