关闭 H2 数据库;紧凑与碎片整理?
Posted
技术标签:
【中文标题】关闭 H2 数据库;紧凑与碎片整理?【英文标题】:Shutting down H2 database; Compact vs Defrag? 【发布时间】:2014-10-07 20:33:15 【问题描述】:在我的应用程序中,我连接到一个 H2 数据库,我最近正在研究这个数据库是如何关闭的。
在我的连接字符串中,我设置了DEFRAG_ALWAYS=true
,根据 H2 文档
每次关闭数据库时,都会对其进行完全碎片整理(SHUTDOWN DEFRAG)。
现在我假设当 JVM 关闭时,shutdown 钩子将关闭数据库并对其进行碎片整理(就像执行 SHUTDOWN DEFRAG
一样)。
但是如果我要在退出应用程序之前执行SHUTDOWN COMPACT
,同时在连接字符串中应用DEFRAG_ALWAYS=true
,将使用哪个关闭进程?
【问题讨论】:
【参考方案1】:如果您手动执行shutdown
,则它的优先级高于设置(defrag_always=true
)。所以如果你执行shutdown compact
,那么这就是做的,而defrag
没有做。如果你执行shutdown defrag
,那么不管设置是什么,这就完成了。如果只是正常关闭数据库,则使用设置defrag_always
。
【讨论】:
以上是关于关闭 H2 数据库;紧凑与碎片整理?的主要内容,如果未能解决你的问题,请参考以下文章