Имя: Пароль:
1C
1С v8
Размер индекса больше размера данных
,
0 ДедUndead
 
12.06.16
12:19
Коллеги,
подскажите причину такой ситуаций и что с этим делать. Есть файловая база, доработка на основе УТ 10.3. Ведется с 2011 года, сейчас размер файла базы порядка 12 Гб. Сейчас процедура ТиТ завершается с ошибкой, так как, как я вижу, индекс в регистре накопления ЗаказыПокупателей более 4 Гб. Причем сами данные - 2 Гб. Размер смотрел замечательной утилиткой V8TableSizes.exe. Я снял "индексировать" со всех измерений регистра ради эксперимента и запустил переиндексацию таблиц базы. Но размер индекса остался тем же. Как все-таки строится этот индекс и можно ли его уменьшить? Вот что выдает V8TableSizes.exe.
Таблица    Объект 1С    Всего    Размер данных    Размер индексов    Размер блобов
_ACCUMRGCHNGR7264 / _ACCUMRGOPT8301 / _AccumRg7245 / _AccumRgT7263    РегистрыНакопления.ЗаказыПокупателей    2 865 041 110    2 809 311 682    4 090 982 400    0
Сорри, без форматирования, но тут видно, что размер данных - 2 809 311 682, размер индекса - 4 090 982 400.
1 Dmitry1c
 
12.06.16
12:26
(0) ну дык почисти индекс, в чем проблема-то?
2 Лефмихалыч
 
12.06.16
12:26
может он просто фрагментирован пустотой? chkdbfl-ом прогнать пробовал?
3 Михаил Козлов
 
12.06.16
12:29
Нет ли измерений примитивных типов (число,строка, булево).
Как-то при внедрении упр. баланса от УТАН в виды субконто попали примитивные типы и регистр стал катастрофически разрастаться.
4 ДедUndead
 
12.06.16
12:34
По порядку.
Как почистить индекс в файловой базе? Не знаю, как это делать.
chkdbfl-ом прогонять пробовал - не помогает, говорит, ошибок нет.
По поводу примитивных типов - есть в три измерениях с типом число.
5 ДедUndead
 
12.06.16
13:08
Еще нашел следующее.
"При этом следует учитывать, что индексы создаются системой не только при явном указании свойства Индексировать, но, например, и при включении поля в критерий отбора." Это из документа с рекомендациями по проектированию структуры базы данных в 1С. Эти документы (ЗаказПокупателя) включены в критерии отбора. Влияет ли это на индекс в регистре ЗаказыПокупателя?
6 Wern
 
12.06.16
13:27
(5) А просто посмотреть сколько там измерений с индексированием не пробовал? Может там действительно все измерения с индексами. В этом случае действительно может быть размер индексов в разы больше, чем размер данных.
7 ДедUndead
 
12.06.16
14:04
Я снял индексирование со всех измерений. Размер индекса не уменьшился.
8 Cyberhawk
 
12.06.16
14:21
Загрузки базу в СУБД
9 Cyberhawk
 
12.06.16
14:21
*загрузи
10 Cyberhawk
 
12.06.16
14:21
Там и смотри все
11 ДедUndead
 
12.06.16
14:26
А что там смотреть? Если это измерения регистр накопления, платформа создает индексы по всем измерениям, как я понимаю
12 Wern
 
12.06.16
15:35
(11) Неправильно понимаешь.
13 ДедUndead
 
12.06.16
16:01
Так расскажи, как правильно
14 ДедUndead
 
12.06.16
16:02
Измерения - это ключ. Создается ли индекс по ключу?
15 ДедUndead
 
12.06.16
16:13
Вот тут хорошая статья. Платформа создает индексы неявно для регистров накопления при определенных условиях

http://its.1c.ru/db/metod8dev/content/1590/hdoc
16 Wern
 
12.06.16
16:23
(15) Уже лучше, тебе осталось только посмотреть какие конкретно индексы у тебя занимают много места и нет ли лишних.
17 ДедUndead
 
12.06.16
16:32
Так а что мне это даст, если это измерения из типовой конфы, а согласно всему уменьшение размера индекса будет только, если я удалю какие-то из измерений? ЧИ чем это лучше, если нет никаких способов, кроме
1. Свернуть базу.
2. Переходить на SQL
18 H A D G E H O G s
 
12.06.16
17:17
(0) Таблица итогов там у тебя? Период рассчитанных итогов какой?
Ошибка? Это не ошибка, это системная функция.