finedb过大处理办法
目录:
1. 描述
在工程运行过程中,可能会出现报表的finedb过大的情况,导致决策平台运行变慢,或者引起其他异常。下面介绍排查办法:
1.1 步骤一
将finedb另存一份,然后使用设计器或者其他第三方工具连接到finedb,连接方法参见:报表内置hsql数据库finedb或者如何使用第三方管理软件连接报表内置hsql数据库finedb
逐个查询里面的所有表,例如:SELECT * FROM PUBLIC.FR_CRONEXPRESSION_ITRIGGER 或者 SELECT COUNT(*) FROM PUBLIC.FR_CRONEXPRESSION_ITRIGGER,看下是否有报错或者有数据量异常大的表,如果有的话,可以联系帆软技术支持协助处理修改。
1.2 步骤二
如果查看了所有表都没有发现异常情况,可能是因为 hsqldb在频繁的增删改后,删除数据占据的空间并没有释放(我们称之为空闲空间),所以就容易出现数据量不大,但是finedb文件占用空间过大的情况。
可以用第三方工具连接hsql后,用SQL执行CHECKPOINT DEFRAG,此种方式会立即回收空闲空间,而且不会关闭hsqldb服务,执行成功后会发现finedb明显变小,从几G变成几M,重新连接finedb,检查原有数据是否正常,如果正常,可以替换掉之前过大的finedb。
1.3 步骤三
推荐hsql迁移到其他数据库,参见文档:平台数据迁移
附件列表
主题: 性能优化