Маленькие хитрости администрирования баз данных программ семейства 1С Предприятие

  35790931     

Уборка мусора в DBF-файлах


Идеология использования DBF/CDX-файлов построена таким образом, что при удалении объекта базы производится только пометка объекта как удаленного, физически же запись об этом объекте остается в базе в качестве "мусора". Если не предпринимать никаких специальных мер, то этот мусор копится, база пухнет, драгоценный сетевой трафик забивается зря. В принципе "уборку мусора" можно производить в конфигураторе через выгрузку-загрузку данных, но это не очень удобно, поскольку, как я уже упоминал выше, выполнение данной процедуры может требовать значительных временных затрат: Альтернативный путь - использовать для этих целей внешние утилиты, предназначенные для работы с DBF/CDX-файлами (например утилитка DBU.EXE из Clipper'а) тоже не очень хорош, т.к. обычно они не умеют работать с маской файлов (*.dbf), а "подсовывать" им по одному файлу из сотни - удовольствие ниже среднего.

В тоже время встроенный язык программ "1С:Предприятия" поддерживает соответствующий DBF-примитив (метод объекта Xbase Сжать()), поэтому я в свое время и написал на 1С небольшую конфигурацию, предназначенную исключительно для этих целей и пользуюсь ей регулярно до сих пор (раз в неделю). Кроме "чистки" базы в ней также попутно предусмотрена возможность использования стандартного внешнего архиватора WinZip/WinRAR для архивирования базы, собственно сама конфигурация в архиве Cleaner.rar, небольшое описание приведено в этом же архиве в файле Read.me.



Содержание раздела