![]() |
![]() |
![]() |
|
Производительность регистра сведений | ☑ | ||
---|---|---|---|---|
0
Rensi
14.09.10
✎
17:27
|
И вот делаю историзацию графиков в 1С. Графиков около 4000, каждый имеет около 40 строк(периодов-месяцев) и каждый пересчитывается один раз в месяц. Количество рассчитываемых колонок около 40. По подсчетам, при закрытии всех графиков получиться чуть больше 3 миллионов с четвертью записей в регистре сведений.
Насколько проблематично(время) работать с таким больших регистром, если он будет использоваться постоянно? Может у кого-то есть другие варианты решения, а то неохота время убивать? Спасибо Рег. сведений 40 ресурсов, 4 измерения, подчинен регистратору. 1С 8.1 на PostgreSQL, Xeon 8 ядер(2,33Ггц), 4Гб ОЗУ – сервер |
|||
1
H A D G E H O G s
14.09.10
✎
17:29
|
40 ресурсов.
Что ж вы там храните то? |
|||
2
vmv
14.09.10
✎
17:31
|
40 ресурсов может быть только в учете ядерных реакций, наверняка нужно от них избавляться
|
|||
3
Rensi
14.09.10
✎
17:32
|
Пересчеты по валюте, амортизация всяких комиссий, сам расчет, хорошая часть для МСФО и т.д.
Сам впервые ужаснулся :) |
|||
4
Лефмихалыч
14.09.10
✎
17:32
|
(0) сделай 5 измерений и 1 ресурс + перечисление с 40 значениями, которые будешь соват в пятое измерение. 40 ресурсов - это нечто за гранью добра и зла
|
|||
5
Лефмихалыч
14.09.10
✎
17:33
|
+(4) а еще лучше - справочник
|
|||
6
Лефмихалыч
14.09.10
✎
17:33
|
И вообще это все больше похоже на функционал регистров расчета
|
|||
7
Rensi
14.09.10
✎
17:36
|
(4) Так тоже думал, но придется проделывать не очень удобные "махинации" с запросами
|
|||
8
Rensi
14.09.10
✎
17:56
|
(6) А кто-то работал с 40 видами расчета? и выдержит ли он таких нагрузок?
|
|||
9
Kom-off
14.09.10
✎
18:09
|
Для SQL, может быть и в современных версиях это уже не так, есть ограничение на количество полей, используемых в составном индексе - 16. 1С использует составной индекс при работе с регистром. Делай выводы.
|
|||
10
Kom-off
14.09.10
✎
18:11
|
(9)+ Насколько, мне известно, ресурсы не индексируются.
|
|||
11
Kom-off
14.09.10
✎
18:13
|
Ну, а то что их (ресурсов) много, достаточно вспомнить старые системы на DBF, где сплошь и рядом использовались таблицы по 255 колонок. И, вообще, быстренько наполнить регистр модельными данными и посмотреть как ведут себя запросы и куски кода, отвечающие за изменение данных регистра. Заодно и нам рассказать...
|
|||
12
ptiz
14.09.10
✎
18:30
|
(0) Ничего страшного вроде нет. MS SQL бы справился. Postgre - не знаю.
Попробовать-то недолго. |
|||
13
Rensi
14.09.10
✎
19:03
|
(11) (12)
И так, регистр сведений имеет 4 измерения и 40 ресурсов, подчинен одному регистратору. Логика: 1 измерение – контрагент 2 измерение – договор 3 измерение – график 4 измерение – период в графике 40 ресурсов – число 15.2 Тестовые данные: Контрагентов – 100 Договоров на каждого контрагента – 10 Графиков на каждый договор – 4 Периодов в каждом графике – 50 Ресурсы заполняются случайными числами. Условие: В графиках каждый текущий и последующие периоды пересчитываются, то есть в первом периоде в движениях будет 40 строк, во втором – 39 и т.д., итого на график – (50+1)*25 = 1275 движений в рег. сведений. 100*10*4* 1275 = 5 100 000 движений по моему ничего не пропустил... Результаты будут позже |
|||
14
Demiurg
14.09.10
✎
19:08
|
если кинете ваш тест, могу на своем серваке (он чуть послабее) потестировать
как тут http://gilev.blogspot.com/2010/09/db2-express.html |
|||
15
Rensi
14.09.10
✎
19:16
|
(14)Да, было бы хорошо, сегодня уже не успеваю, завтра вышлю Вам конфу и свои результаты. О результатах сообщу в этой ветке и ,если кому интересно, по почте.
ЗЫ: если кто-то предложит свой вариант – можно протестировать |
|||
16
ice777
14.09.10
✎
19:21
|
по идее, грузит только количество измерений, ака ключевых полей. а ресурсы - только место и траффик, если все запрашивать.
|
|||
17
Rensi
14.09.10
✎
19:35
|
да, но результаты неутешительны...
|
|||
18
ILM
гуру
14.09.10
✎
19:58
|
Посоветую 5 измерений. Где 5-е измерение это номер ресурса (01-40), тогда ресурс будет один. Написать выборку и группировки будет быстрее.
Проверь, в Oracle такое решение работало в 5-10 раз быстрее. Правда никогда не выводилось по больше 20 000 записей. А база была за 300 миллионов записей. Может и тут так же будет? |
|||
19
Rensi
14.09.10
✎
20:06
|
(18)придется и такое попробовать
добавить глобальную функцию на серваке глПолучитьТаблицуИПеревернуть |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |