Обрезка таблицы BOLD_CLOCKLOG
Я выполняю некоторые операции с базой данных для приложения, которое использует инфраструктуру сохранения объектов Bold for Delphi. Эта база данных была в производстве в течение нескольких лет, и несколько таблиц стали довольно большими. Одним из них является BOLD_CLOCKLOG
что имеет отношение к управлению транзакциями Bold.
Я хочу урезать эту таблицу (до 1,2 ГБ, с записями с января 2006 года).
Кто-нибудь может подтвердить, что системе не нужна эта старая информация?
2 ответа
Bold_ClockLog является необязательной таблицей, ее целью является сохранение отображения между целочисленными временными метками и соответствующими значениями DateTime.
Это позволяет узнать дату и время последней модификации любого объекта.
Если вам не нужна эта функция, не стесняйтесь очищать стол, это не вызовет никаких проблем.
В дополнение к Bold_ClockLog, Bold_XFiles является еще одной необязательной таблицей, которая имеет тенденцию к увеличению. Но в отличие от Bold_ClockLog Bold_XFiles не может быть очищен.
Обе эти таблицы могут быть включены / выключены в значениях тегов модели.
Из документации, выделенной жирным шрифтом:
BOLD_CLOCKLOG
Чтобы иметь возможность сопоставить номера транзакций, используемых в столбцах TimeStamp, с соответствующим физическим временем (например, 2001-01-01 12:34), средство отображения постоянства будет хранить журнал с временными метками и временем. Обычно этот журнал записывается для каждой операции базы данных, но если трафик в базу данных очень интенсивный, можно ограничить частоту записи этого журнала, установив свойство ClockLogGranularity. Событие OnGetCurrentTime также должно быть реализовано, чтобы гарантировать, что все клиенты имеют одинаковое время. Использование этой таблицы можно контролировать с помощью тегового значения: Model.UseClockLog
Поэтому я считаю, что это используется для управления версиями Boldobjects, см. Расширение управления версиями объектов в документации по жирному шрифту. Если вашему приложению это не нужно, вы можете оставить это в базе данных.
В нашем приложении Bold мы не используем эту функцию. Почему бы просто не протестировать, чтобы отключить Bold_ClockLog в модели, отбросить эту большую таблицу и попробовать использовать ваше приложение. Я уверен, что если что-то не так, то сразу скажи.
Могу также упомянуть, что у нас есть собственный нестандартный объект. Это просто большая строка (как TStringList.DelimetedText) в классе ObjectHistory, в которой есть время, пользователь и примечание о действии. Это удовлетворяет наши потребности лучше, чем Bolds, встроенная в историю объектов. Недостаток, конечно, в том, что нам нужно добавлять вызовы в код, когда регистрация ведется в истории.