修剪BOLD_CLOCKLOG表

时间:2012-01-16 17:18:24

标签: delphi bold-delphi

我正在为使用Bold for Delphi对象持久性框架的应用程序对数据库进行一些维护。该数据库已经生产了几年,其中一些表已经变得非常大。其中一个是BOLD_CLOCKLOG,它与Bold的交易管理有关。

我想修剪这张桌子(最高可达1.2GB,2006年1月的参赛作品)。

任何人都可以确认系统不需要这些旧信息吗?

2 个答案:

答案 0 :(得分:2)

来自大胆的文档:

<强> BOLD_CLOCKLOG

为了能够将TimeStamp列中使用的事务编号映射到相应的物理时间(例如2001-01-01 12:34),持久性映射器将存储具有时间戳和时间的日志。通常,此日志是为每个数据库操作编写的,但如果数据库的流量非常密集,则可以通过设置属性ClockLogGranularity来限制此日志的写入频率。还应实现OnGetCurrentTime事件以确保所有客户端具有相同的时间。可以使用标记值控制此表的用法:Model.UseClockLog

所以我相信这用于Boldobjects的版本控制,请参阅粗体文档中的对象版本扩展。如果您的应用程序不需要,您可以将其放在数据库中。

在我们的Bold应用程序中,我们不使用该功能。为什么不简单地测试关闭模型中的Bold_ClockLog,丢弃那个大表并尝试使用你的应用程序。我很确定如果出现问题,那么它会马上说出来。

我还可以提一下,我们有自己的自定义对象。它只是ObjectHistory类中的大字符串(如TStringList.DelimetedText),它具有Time,user和有关action的注释。这更符合我们对Bolds内置对象历史的需求。缺点当然是我们需要在记录完历史记录时在代码中添加调用。

答案 1 :(得分:1)

Bold_ClockLog是一个可选表,它的目的是存储整数时间戳和相应的DateTime值之间的映射。

这允许您找出对任何对象的最后修改的日期时间。

如果您不需要此功能,请随意清空表格,这不会造成任何问题。

除了Bold_ClockLog之外,Bold_XFiles是另一个可选的表,它往往会变大。但与Bold_ClockLog不同,Bold_XFiles无法清空。

这两个表都可以在模型标签值中打开/关闭。