gifts2017

Удаление избыточных записей регистра сведений

Опубликовал Eugene Toropkin (etoropa) в раздел Администрирование - Чистка базы

Удаление записей в периодическом регистре сведений, которые не меняют значение ресурсов в срезе последних по такому же набору измерений.

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

В первый раз понадобилась обработка для регистра сведений цены, где записей было уже более 7 млн. И пусть этих записей будет даже больше, но уже такое количество было не по причине большого справочника номенклатуры, а частым созданием документа изменения цен. При этом половина записей по совпадающим значениям измерений полностью дублировало предыдущую запись (т.е. создание таких записей на срез последних не влияло). И если срез первых нам не нужен, то зачем хранить такие записи (особенно в старых периодах)? В итоге удалив такие записи в прошлых периодах размер регистра удалось сократить вдвое.

Во второй раз обработка понадобилась в конфигурации Инталев, где регистр имел 13 млн записей. Там старые периоды можно было бы вообще удалить, но решил пойти по уже проверенному пути. 

Вот такая в итоге получилась обработка. 

 

Скачать файлы

Наименование Файл Версия Размер
Обработка удаления записей 73
.epf 7,97Kb
17.07.12
73
.epf 7,97Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Наталия Мастербатова (zzz_natali) 18.07.12 06:47
Кто будет конвертировать обработку под 8.2, то немного допилить:
РС.МоментВремени заменить на РС.Регистратор.МоментВремени
2. Вадим Никонов (V.Nikonov) 18.07.12 09:50
Разумнее оставлять первые записи, дабы корректнее было начало действия значения. А подтверждать значение не требуется.

А что происходит с документами устанавливающие значения? Чистится только регистр сведений?

В моём случае, я предпочёл допилить "УстановкаЦенНоменклатуры"... Документ выкидывает при записи строки установки повторяющие значение за предыдущий период.
3. Eugene Toropkin (etoropa) 18.07.12 10:05
(1) zzz_natali, Постараюсь сделать до выходных.
(2) V.Nikonov, У меня как раз остается только первая запись. Можно удалять и строки в документах, но я в случае с ценами решил оставить. Обращение к таблице документа выполняется очень редко - поэтому, если не гнаться за уменьшением объема базы, смысла особо не имеет.
В инталеве я почистил табличную часть, но там вообще особый случае. Документ генерируется при открытии, а значение реквизитов шапки хранятся в табличной части документа. По сравнению с документом установки цен хранится очень много избыточной информации.
4. Stas Churkin (Stas-ch) 09.03.16 17:16
Учитывается в обработке следующий вариант:
Период - Измерение - ресурс
Период1 - Ном1 - Рес1
Период2 - Ном1 - Рес2
Период3 - Ном1 - Рес1

по идее здесь нет дублей. Как отработает обработка?
5. Eugene Toropkin (etoropa) 11.03.16 13:06
(4) Stas-ch, Обработка ничего не удалит.
Удаляются только те записи, которые не повлияют на срез последних.
Для приведенного примера удаление любой из записей приведет к изменению среза последних в интервале между периодами, либо после период3
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа