H2 compact 在大数据库上失败
Posted
技术标签:
【中文标题】H2 compact 在大数据库上失败【英文标题】:H2 compact failed on big db 【发布时间】:2013-05-28 07:41:57 【问题描述】:我有一个使用 h2 数据库的应用程序。 实际上图像存储在 base64 的 CLOB 字段中。但我想将它迁移到 Blob 并解码 base64 值。 迁移在像 300mo 这样的小型数据库上运行良好,并且大小确实减小了。但我有一个 800mo db,迁移后 2400mo ......当我离开应用程序时,db 并不紧凑(我设置 -Dh2.maxCompactTime=120000)。
我不知道为什么,也许我忘记了什么?
【问题讨论】:
【参考方案1】:完全压缩数据库的最简单方法是运行语句SHUTDOWN COMPACT
。
如果数据库还没有完全压缩,如果您打开然后再次关闭它(但前提是您关闭所有连接),它会进一步缩小。
要完全压缩数据库,最好创建一个SQL脚本(例如使用SCRIPT TO
)并重新创建数据库(例如使用RUNSCRIPT
)。
【讨论】:
谢谢,最后我编写了脚本并重新构建了我的数据库,一切正常。导致 SHUTDOW COMPACT 什么都不做以上是关于H2 compact 在大数据库上失败的主要内容,如果未能解决你的问题,请参考以下文章
VB6 ADODB 因 SQL Compact 失败:多步操作生成错误
Spring Boot 2 - H2 数据库 - @SpringBootTest - org.h2.jdbc.JdbcSQLException 失败:表已存在