[РЕШЕНИЕ ПРОБЛЕМ] «Медленные» базы и прочая….
Краткое описание приведения в порядок "тяжелой" базы… Простой пример выполненной работы.
- Описание
- Подробнее
Описание
На старте имеем не сильно большую базу, с которой наблюдается куча проблем. Основная проблема — долгое открытие периода — около полутора часов (соответсвенно, любое восстановление ГП превращается в процесс, который дождаться проблематично — так как откатить итоги на предыдущий месяц, перепровестись, открыть период — ОЧЕНЬ долго). Плюс к этому — переиндексация тоже идет не шибко быстро.
Не вдаваясь в подробности — будем «лечить».
Сначала диагно: база дбф, 2.2 гига, тотально незакрыт регистр Реализованных товаров (отчет комитенту не делался в базе 2 года).
Итак:
— перед началом ТРИВИАЛЬНОЙ УБОРКИ размер базы (cdx+dbf) = 2’253’168’869 байт
— после окончания ТРИВИАЛЬНОЙ УБОРКИ размер базы стал = 1’620’220’102 байт, т.е. уменьшился на 28%, что составило ~605 Мб
…
наиболее усохшие таблицы (до/после, Мб)
— rg438.dbf 767/66 (регистр «реализованный товар»)
— rg438.cdx 138/5
Время открытия периода до/после:
— до уборки время открытия очередного периода очень быстро росло с каждыми месяцем, на текущий момент открытие периода составляло порядка полутора часов.
— после уборки время открытия периода не зависит, стабильное и составляет порядка 30 секунд.
Время переиндексации базы (случается иногда пока) — до/после:
— до исправления — не менее 10 минут (может и поболее, сейчас уже навскидку и не скажу…);
— после исправления — менее 4 мин.;
…
на невооруженный взгляд ускорилось проведение доков, ну и исправление доков задним числом (вернее исправление таких «исправлений») не стало приводить к коллапсу работы…
…
Проведение ТиИ с полным пересчетом итогов и упаковкой таблиц привело к тому, что база «похудела» примерно еще на 400 Мб, и стала весить в районе 1,2 Гб. Итоговое уменьшение базы составило ~45% по объему.
…
Надеюсь, не надо пояснять, что в результате уборки имеем? 😉
Так что, если у вас открытие периода тянется дольше 5 минут — самое время заняться уборкой.
..
Вдогонку отметим: лечение проводилось абсолютно штатными методами:
1. Программой из 20-30 строк были сгенерены понедельные отчеты комитенту (+отчет комитенту в каждый последний день месяца).
2. ТА была сдвинута на первый документ в базе.
3. Были «прибиты» все файлы R*.* (т.е. занулены все регистры)
4. Далее осуществлялось простое перепроведение доков с заполнением и проведением отчетов комитенту.
5. После полного проведения было сделано ТиИ.
все… результат = выше…

