Имя: Пароль:
1C
1С v8
Размер таблиц индексов
,
0 nbutt
 
25.03.14
06:26
Здравствуйте.
Есть клиент-серверная база по управлению розничной торговлей, которая стала занимать прилично места (порядка 90 гигабайт).
Решили провести анализ по размеру, нашли отчет через подключение к SQL, в итоге оказалась следующая интересная штука:
По справочникам, документам, регистрам сведений размер самих таблиц в 1,5 - 2 раза больше размера индексов,
а вот по некоторым регистрам накопления (Продажи, закупки, расчеты по НДС) размер индексов уже в 2 раза больше размера таблиц.

Собственно вопрос - можно ли изменить измерения, по которым ведется индексирование, и как правильно провести переиндексацию?
Над базой раз в два дня делается дефрагментация индексов, реорганизует ли она таблицу индексов?
Заранее спасибо.
1 ДенисЧ
 
25.03.14
07:31
да
нет.
2 nbutt
 
25.03.14
07:43
(1) А как тогда провести переиндексацию?
3 nbutt
 
25.03.14
07:51
(1) выгрузка - загрузка базы поможет?
4 MrStomak
 
25.03.14
07:53
page compression
5 ДенисЧ
 
25.03.14
07:54
(2) штатным rebuil'ом sql'я пробовал?
6 nbutt
 
25.03.14
08:05
(5) rebuil раз в два дня делается.
7 nbutt
 
15.04.14
06:21
в общем сделал следующее :
убрал индексирование по регистрам ндс (в этой базе не считается), убрал излишнее индексирование (проекты, организация и т.п.). В итоге размеры таблиц индексов, которые менял уменьшились существенно (в 2-3 раза), но сама база физически места занимать меньше не стала.

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

Вроде бы оно потом будет заполняться по мере увеличения объема данных, в то время как фактически на диске база расти не будет, но есть сомнения.
Сейчас над этой базой никакие задания не делаются (rebuil и другие), в выходные надо будет попробовать и посмотреть на изменения объема.
Это все на случай, если кто-то потом ее такой штукой заинтересуется.
8 hhhh
 
15.04.14
06:32
(7) а сжатие базы каждый раз запускаете?
9 nbutt
 
15.04.14
07:13
(8) для этой базы один раз запустили shrink, после применения изменений надо конфигурацией, но очистились только логи.
10 hhhh
 
15.04.14
07:42
(9) ну от удаления чего-то размер базы по-любому не уменьшится. Просто добавится неиспользуемых участков. Надо сжимать потом.
11 nbutt
 
15.04.14
08:03
(10) ага, поэтому в выходные попробуем сделать переиндексацию + обновление статистик. посмотрим, чего получится.

и еще один вариант если что будет выгрузить-загрузить базу целиком, но в последний раз почему-то не вышло. при загрузке вылезала ошибка чтения данных и все прерывалось.
12 fisher
 
15.04.14
10:14
(7) "Вроде бы оно потом будет заполняться по мере увеличения объема данных, в то время как фактически на диске база расти не будет, но есть сомнения"
Не сомневайся. Всё правильно. Сжимать особого смысла нет, только если срочно не нужно место под экстренные нужды. СУБД никогда добровольно не отдает место обратно ОС и стратегия роста обычно подразумевает постоянный запас. Суть в том, что получение дополнительного места на диске для базы - дорогостоящая операция и СУБД старается их минимизировать.
13 nbutt
 
16.04.14
05:00
(12) ага, спасибо, тогда наверное даже ничего особо пытаться не буду.
единственное все-таки хочется проверить выгрузку-загрузку информационной базы, а-то в последний раз не получилось и это немного удручает.

Там так было : сохранил изменения по индексированию, но не обновил конфигурацию ИБ. Выгрузил в dt, а при загрузке обратно вылезала ошибка чтения данных. Выглядит не очень, поэтому данный шаг все-таки хочется попробовать опять (когда все обновилось и переиндексировалось).
Независимо от того, куда вы едете — это в гору и против ветра!