Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто? / 9 сообщений из 9, страница 1 из 1
13.07.2009, 13:29
    #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
13.07.2009, 14:05
    #36086876
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
сравните состав индексов до и после. Был такой глюк на одном из релизов. При реструкторизации сначала удалялись старые индексы, а новые взамен не создавались
...
Рейтинг: 0 / 0
13.07.2009, 14:32
    #36086954
rancid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
Проверил - состав индексов, а так же состав полей абсолютно одинаковый.
...
Рейтинг: 0 / 0
13.07.2009, 15:51
    #36087178
Хитроглазый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему уменьшается количество записей в таблицах остатков и оборотов по счетам и субконто?
rancid,

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

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

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

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

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

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

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

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

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


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