Включил индексирование измерений регистра. Возник вопрос.
Здравствуйте. Есть регистр сведений. Непериодический, независимый. В нем два измерения (ссылка на документ и ссылка на справочник).
Решил поставить в этих измерениях галочку - "Индексировать".
Посмотрел, что изменилось в 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
Получается, что не было смысла индексировать в данном случае по этим измерениям, так как по ним автоматически создан индекс, или все-таки это как-то ускорит работу ? Вообще, что изменится из-за появления второго не кластерного индекса ?
Решил поставить в этих измерениях галочку - "Индексировать".
Посмотрел, что изменилось в 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
Получается, что не было смысла индексировать в данном случае по этим измерениям, так как по ним автоматически создан индекс, или все-таки это как-то ускорит работу ? Вообще, что изменится из-за появления второго не кластерного индекса ?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) для первого измерение не будет создан отдельный индекс, так как он входит в кластерный. Так что "включение" индекса для него бессмысленно.
Был создан индекс для второго измерения. Тут нужно понимать систему индексирования.
Кластерный индекс включает в себя ключ однозначной идентификации записи в регистре.
Для непериодического и независимого это его измерения. Именно все измерения начиная с первого.
Дополнительные индексы создают индекс по такому же принципу, только ставят "индексируемое" измерение первым в ключе.
И индекс будет использоваться, если отбор/соединение будет строго по порядку в этих ключах. Т.е. порядок важен.
Для двух измерений тут не так наглядно. Но начиная с 3. Если проиндексировать только третье измерение, а использовать в отборе 3 и 2, то индекс использоваться не будет (напрямую, там есть нюансы), так как будет индекс 1,2,3 и индекс 3,1,2. А индекса 3,2,1 нет.
Был создан индекс для второго измерения. Тут нужно понимать систему индексирования.
Кластерный индекс включает в себя ключ однозначной идентификации записи в регистре.
Для непериодического и независимого это его измерения. Именно все измерения начиная с первого.
Дополнительные индексы создают индекс по такому же принципу, только ставят "индексируемое" измерение первым в ключе.
И индекс будет использоваться, если отбор/соединение будет строго по порядку в этих ключах. Т.е. порядок важен.
Для двух измерений тут не так наглядно. Но начиная с 3. Если проиндексировать только третье измерение, а использовать в отборе 3 и 2, то индекс использоваться не будет (напрямую, там есть нюансы), так как будет индекс 1,2,3 и индекс 3,1,2. А индекса 3,2,1 нет.
Короче без 100 грамм тут не разобраться. Надо изучать это дело.
А если вот такое обращение к регистру
МенеджерЗаписи = РегистрыСведений...........СоздатьМенеджерЗаписи();
МенеджерЗаписи.Измерение1 = .....
МенеджерЗаписи.Измерение2 = ......
МенеджерЗаписи.Прочитать();
То в моем случае новый индекс как-то будет работать ?
А если вот такое обращение к регистру
МенеджерЗаписи = РегистрыСведений...........СоздатьМенеджерЗаписи();
МенеджерЗаписи.Измерение1 = .....
МенеджерЗаписи.Измерение2 = ......
МенеджерЗаписи.Прочитать();
То в моем случае новый индекс как-то будет работать ?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот