Имя: Пароль:
1C
1С v8
Замедлилась ОСВ после добавления субсчетов
,
0 Бархат
 
21.04.20
14:20
Всем привет.

Подскажите, пожалуйста, в чем может быть дело. Бухия 75-109 ПРОФ. добавил несколько счетов 4 уровня (__.__._._) и ОСВ стала формироваться дольше. 53 сек мерял (1 день период)
по сопоставимой базе без добавлений 5 сек на 1 день

по замеру производительности ничего критичного не нашел. Сейачс еще сравню с базой где отчет 5 сек делается.

В чем может быть дело?
1 Бархат
 
21.04.20
14:22
Итоги пересчитаны
2 piter3
 
21.04.20
14:26
Спросить зачем 4-е можно?
3 Aleksey
 
21.04.20
14:31
Согласно библии у 4 субконто отсутствуют индексы (платформа индексирует только первые 3 субконто). Отсюда и падение производительности
4 Бархат
 
21.04.20
14:37
не, не субконто. 3 и осталось, просто субсчет.
5 vde69
 
21.04.20
14:39
(3) не правда

(0) в 1с есть несколько видов индексов, по идее добавление четвертого уровня субсчета не должно приводить к изменению работы с индексами. Думаю здесь требуется обновление статистики...
6 Aleksey
 
21.04.20
14:48
7 Aleksey
 
21.04.20
14:56
SQL Server имеет ограничение на количество полей в индексе, равное 16.
...
Если включить в составной тип данных примитивные, то кроме опасностей, описанных в разделе «Тип значения субконто и его влияние на количество индексов», возникает еще одна: для хранения каждого примитивного типа данных (Число, Дата, Строка, Булево) в таблицу базы данных будет добавлено еще одно поле. Другими словами, если добавить в составной тип данных все четыре примитивных типа, то для хранения одного значения субконто будет использоваться семь полей (из них три для ссылки). И как следствие при той же максимальной длине индекса (16 полей) в него попадут только период, счет, измерение и первое субконто.
...
Продолжая рассматривать физическую таблицу остатков и оборотов по счетам и субконто регистра бухгалтерии демонстрационной конфигурации «Бухгалтерский учет», которая находится на прилагаемом компакт-диске, мы можем сделать вывод, что все десять полей помещаются в индексе. Мы можем увеличить максимальное количество субконто на счете, не рискуя потерять производительность, до четырех. При таком максимальном количестве субконто мы как раз «укладываемся» в 16 полей индекса.

Увеличение количества субконто в нашей конфигурации более чем до четырех приведет к тому, что последнее субконто не будет участвовать в индексе. Конфигурация с такой настройкой регистра бухгалтерии и аналитического учета может и будет функционировать, но теряется производительность как при записи движений в регистр, так и при формировании отчетов.
(с) https://its.1c.ru/db/pubapplied#content:217:hdoc
8 vis_tmp
 
21.04.20
14:59
(7)Как-то корявенько написано "более чем до четырех"
9 vde69
 
21.04.20
15:06
(7) все правильно, но к сабжу не относится... там субСЧЕТ а не субконто...

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

добавление субсчета должно приводить к замедлению записи (больше итогов пишется), но не чтения...
10 Бархат
 
21.04.20
15:08
смотрю по замеру, там идет использование разных модулей. ОбщийМодуль.ЗаполнениеБухгалтерскойОтчетностиИтоги в частности (где долго). выясняю почему. сам код ОСВ идентичен в обеих базах. МОдули тоже почти идентичны (изменения не влияют)
11 vde69
 
21.04.20
15:23
(10) обновление статистики сделай, палан запроса может сильно поменятся
12 Eiffil123
 
21.04.20
16:17
(9) почему это больше итогов пишется? итоги по группам счетов нигде не хранятся, на сколько мне известно
13 Бархат
 
21.04.20
16:37
(11) А это как? обновление полей статистики
14 vde69
 
21.04.20
16:44
(13) это в SQL обычно как регламентное задание
15 Бархат
 
21.04.20
17:53
Руки из .опы. Ивините ребята, что шум тут поднял
2 + 2 = 3.9999999999999999999999999999999...