#std791¶
Дополнительные индексы¶
Дополнительный индекс – это индекс сразу по нескольким полям объекта метаданных.
1¶
Дополнительные индексы доступны только для КОРП платформы. Для ПРОФ платформы использовать не получится.
2¶
При разработке надо тестировать производительность в двух случаях:
- доп. индексы включены
- доп. индексы выключены
Для таблиц до 1 млн записей должно работать быстро без доп. индексов. Для больших таблиц - производительность должна гарантироваться доп. индексами.
В стандарте не указано
Доп. индексы управляются параметром информационной базы Использовать дополнительные индексы
. Его можно изменить через конфигуратор или программно УстановитьИспользованиеДополнительныхИндексов()
.
Реальное перестроение индекса произойдет при следующем обновлении конфигурации с реструктуризацией или запуском тестирования и исправления в режиме включения КОРП функций.
3¶
Не используйте доп. индексы если можно достичь хорошей производительности без них.
4¶
Не делайте несколько веток кода в зависимости от использования доп. индексов.
Неправильно
4.1¶
Все, что написано выше, можно игнорировать, потому что если очень хочется, то на небольшом объеме можно и доп. индексы использовать, и делать ветки в коде.
В стандарте не указано
Не понятно зачем нужен этот пункт "подстилка", ведь для того чтобы не исполнить стандарт разрешение стандарта не нужно :)
5¶
Поле в доп. индекс добавляют в двух случаях:
- чтобы использовать в условиях запросов - как индексируемое (ключевое) поле
- чтобы исключить обращение к таблице - как дополнительное (неключевое) поле
В стандарте не указано
Подход с дополнительными (неключевыми) полями называют покрывающий индекс. Его суть в том, что дополнительные данные можно извлечь прям из индекса, и делать обращение к реальной таблице с данными не придется.