powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
9 сообщений из 9, страница 1 из 1
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36086770
rancid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток. Провели небольшую реструктуризацию плана счетов (1С 8.1) - добавили на два счета по одному субконто - было по 1-му, стало по 2. Вообще, максимум, 4.
Внезапно обнаружилась, что размер бд (SQL версия, крутится по SQL Server 2005 SP3 x64) уменьшился на 12 гигабайт. Смотрю с помощью sp_spaceused размеры таблиц. Вижу следующее:
1. Регистр бухгалтерии
ДО:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 12   289   075 	 7   000   888 	 3   293   632 	 3   659   368 	 47   888 

ПОСЛЕ:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 12   403   313 	 5   753   256 	 2   911   072 	 2   841   824 	 360 
С количеством записей все нормально, показатели "ДО" я снял за несколько дней до реструктуризации. Возникает вопрос - почему вдруг на хранение большего количества записей требуется меньшее количество места? Фрагментация индексов одинаковая - 99,1% (была мысль, что за счет фрагментации в первом случае требуется больше места)
2. Таблицы остатков и оборотов по счетам и субконто.
Вот тут вообще что-то очень странное.
2.1 _AccTtl47357 (не знаю как правильно по-русски назвать)
ДО:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 9   928   690 	 4   955   080 	 4   811   000 	 143   480 		 600 

ПОСЛЕ:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 5   427   528 	 2   673   072 	 2   606   168 	 66   328 		 576 

2.2 _AccTtl35572
ДО:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 7   768   900 	 3   303   632 	 3   224   616 	 78   256 		 760 

ПОСЛЕ:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 4   260   014 	 1   945   416 	 1   900   096 	 42   496 		 2   824 

2.3 _AccTtl25571
ДО:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 408   242 		 191   880 		 179   184 		 4   480 		 8   216 

ПОСЛЕ:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 355   520 		 151   320 		 147   176 		 3   384 		 760 

2.4 _AccTtl15570
ДО:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 110   226 		 37   760 		 32   016 		 856 		 4   888 

ПОСЛЕ:
Код: plaintext
1.
2.
rows		reserved	data		index_size	unused
 103   682 		 26   736 		 26   040 		 576 		 120 

Чем можно это объяснить?
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36086876
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сравните состав индексов до и после. Был такой глюк на одном из релизов. При реструкторизации сначала удалялись старые индексы, а новые взамен не создавались
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36086954
rancid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил - состав индексов, а так же состав полей абсолютно одинаковый.
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36087178
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rancid,

а был какой размер? (а то может ваши 12Гб - пыль:) )
филфактор не менялся? SHRINKDATABASE не делался?
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36088014
rancid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хитроглазый,

я не совсем правильно выразился. Разница в 12 гигабайт - это разница между объемами данных, занимаемых таблицами (сумма полей data, index_size и unused). mdf-файл до реструктуризации имел размер 60 гигабайт, после - 85 гигабайт. Соответственно, и бэкапы - до реструктуризации занимали порядка 60 гигабайт, после - 48. SHRINK не проводился. Сделал ночью на тестовом сервере - размер бд после реструктуризации и шринка - 48 гигабайт. Шринкую копию базы (WITH NOTRUNCATE, потом TRUNCATEONLY) до реструктуризации - размер практически не изменяется - 60 гигабайт.
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36088016
rancid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл дописать - fill factor (и pad index) не изменялся
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36088118
Обычно на регистрах бухгалтерии включается режим разделения итогов (галочка в конфигураторе + в режиме предприятия "Операции" / "Управление итогами" / "Установка режима разделения итогов"), это говорит о том, что при одновременной записи строк регистра бухгалтерии по одинаковой совокупности измерений и субконто будет создано более одной строки в таблицах итогов регистра бухгалтерии.

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

Этим и объясняется уменьшение количества записей в итоговых таблицах.

Это также справедливо и для регистров накопления.
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36088128
rancid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Айрат Вильданов,

Спасибо за ответ.
...
Рейтинг: 0 / 0
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
    #36088138
В конфигурации "Бухгалтерия Предприятия" есть даже специальное регламентное задание по пересчету итогов, которое 1 раз в месяц их пересчитывает.

Разделенные итоги дают преимущества в скорости записи, потому что фактически идут INSERT-ы в итоговые таблицы а не UPDATE одной единственной записи, соответственно уменьшается вероятность блокировки.

Но при чтении будет дополнительное агрегирование итогов (SUM по ресурсам итоговой таблицы) и от увеличения количества записей в итоговых таблицах будет увеличиваться время их чтения.

Поэтому необходимо делать регулярный пересчет итогов.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]