|
Отказ от общих реквизитов в БП 3.0 и влияние этого на статистику по индексам
|
|||
---|---|---|---|
#18+
Вопрос: Насколько трудоемко будет вырезать из конфигурации общие реквизиты разделения данных? Стоит вообще этим заниматься? БСП смотрел, в целом похоже, что там не очень много мест, но времени на глубокое изучение не было. А теперь – о причинах, почему меня это интересует. База БП 3.0, размер примерно 1 ТБ, из них 200 ГБ – это таблицы регистра бухгалтерии, записей от 50 до 250 млн. В таблицах на сервере поле ОбластьДанныхОсновныеДанные имеет тип Numeric(7,0), поэтому глобально я места не сэкономлю (примерно 9 ГБ приходится сейчас на это поле). Основная цель – немного ускорить работу с базой, за счет: *уменьшения размеров таблиц и индексов; *ускорения выборки за счет уменьшения размера строки данных (и индексов) и более точных планов запросов; *ускорения команды ‘update statistics’; *уменьшения затрат на ведение колоночной статистики (может быть по некоторым полям ее вообще на надо будет вести отдельно, т.к. это поле окажется самым левым в индексе). Небольшое ускорение операции с одной строкой в пересчете на миллионы строк дает значительную экономию времени. А в пересчете на год – еще больше, поэтому мне кажется, что цель оправдана. И немного теории, на которой я основываюсь. Общеизвестный факт, что MSSQL создает статистику только по самой левой колонке индекса и хранит там 200 интервалов распределения значений. В индексах типовой бухгалтерии 3.0 левой колонкой идет "ОбластьДанныхОсновныеДанные", тип Число. Если разделение не используется, то в этом поле везде ноль. Ниже – пример такого индекса (регистр бухгалтерии). 49 млн записей, все собрались в одной строке гистограммы. https://ibb.co/f2hPOd Сервер создает колоночные статистики по всем полям, которые участвуют в запросах https://ibb.co/cJY63d Например, по регистратору https://ibb.co/cAHkUJ ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 12:50 |
|
|
start [/forum/topic.php?fid=28&msg=39674980&tid=1518343]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 229ms |
total: | 347ms |
0 / 0 |