Включил индексирование измерений регистра. Возник вопрос.

1. robix 28.12.22 18:02 Сейчас в теме
Здравствуйте. Есть регистр сведений. Непериодический, независимый. В нем два измерения (ссылка на документ и ссылка на справочник).
Решил поставить в этих измерениях галочку - "Индексировать".
Посмотрел, что изменилось в MS SQL.
Был создан индекс не кластерный.

В итоге картина такая:

[_InfoRg9929_ByDims] - Clustered (был по умолчанию)
_Fld407 numeric(7,0) 5 No No
_Fld9930RRef binary(16) 16 No No
_Fld9931RRef binary(16) 16 No No

[_InfoRg9929_ByDims10182] - Non Clustered (появился после галочек "Индексировать")
_Fld407 numeric(7,0) 5 No No
_Fld9931RRef binary(16) 16 No No
_Fld9930RRef binary(16) 16 No No

Получается, что не было смысла индексировать в данном случае по этим измерениям, так как по ним автоматически создан индекс, или все-таки это как-то ускорит работу ? Вообще, что изменится из-за появления второго не кластерного индекса ?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. RustamZz 28.12.22 19:15 Сейчас в теме
(1) Зависит от того как будет использоваться в запросах.
5. spacecraft 28.12.22 21:43 Сейчас в теме
(1) для первого измерение не будет создан отдельный индекс, так как он входит в кластерный. Так что "включение" индекса для него бессмысленно.
Был создан индекс для второго измерения. Тут нужно понимать систему индексирования.
Кластерный индекс включает в себя ключ однозначной идентификации записи в регистре.
Для непериодического и независимого это его измерения. Именно все измерения начиная с первого.
Дополнительные индексы создают индекс по такому же принципу, только ставят "индексируемое" измерение первым в ключе.
И индекс будет использоваться, если отбор/соединение будет строго по порядку в этих ключах. Т.е. порядок важен.

Для двух измерений тут не так наглядно. Но начиная с 3. Если проиндексировать только третье измерение, а использовать в отборе 3 и 2, то индекс использоваться не будет (напрямую, там есть нюансы), так как будет индекс 1,2,3 и индекс 3,1,2. А индекса 3,2,1 нет.
2. пользователь 28.12.22 18:46
Сообщение было скрыто модератором.
...
4. redfred 28.12.22 21:01 Сейчас в теме
Порядок полей разный, возможно и ускорит. Зависит от запросов
6. robix 29.12.22 13:44 Сейчас в теме
Короче без 100 грамм тут не разобраться. Надо изучать это дело.

А если вот такое обращение к регистру
МенеджерЗаписи = РегистрыСведений...........СоздатьМенеджерЗаписи();
МенеджерЗаписи.Измерение1 = .....
МенеджерЗаписи.Измерение2 = ......
МенеджерЗаписи.Прочитать();
То в моем случае новый индекс как-то будет работать ?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот