如何解决尽管有检查点,lobs 文件大小仍在增加
我正在构建一个交通信息服务,它轮询上游消息源并将它们存储到以服务器模式运行的 HsqlDB 数据库中。
上游源每 5-60 分钟轮询一次。消息以 CLOB 形式存储,如果过期或被替换,则将其删除。
任务每分钟删除已过期的消息,执行 DELETE
语句后跟 CHECKPOINT DEFRAG
。
所有这些操作都发生在永久运行的 Java 应用程序中。数据库也永久开放。
消息的数量(及其组合大小)相当稳定。但是,有许多更改可能会导致消息被新消息替换。
我相信已经从其他 SO 答案中了解到,已删除 LOB 的空间被释放以供新 LOB 使用,CHECKPOINT
告诉 HsqlDB 现在是进行此类垃圾收集的好时机.
但是,LOB 文件不断增长。在大约一个小时的时间里,它的大小从 184 MB 增加到 368 MB,即大约翻了一番。似乎可用空间没有得到重用,但更多的空间被占用了。
我做错了吗?如果是,那是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。