在我的应用程序中,我连接到H2数据库,最近我正在研究如何关闭该数据库。
在我的连接字符串中,我已经设置了DEFRAG_ALWAYS=true
,根据H2 doc
每次关闭数据库时,都会对其进行完全碎片整理(SHUTDOWN DEFRAG)。
现在,我假设关闭JVM时,关闭钩子将关闭数据库并对其进行碎片整理(就像执行一样SHUTDOWN DEFRAG
)。
但是,如果我要SHUTDOWN COMPACT
在退出应用程序之前执行,同时已DEFRAG_ALWAYS=true
在连接字符串中应用程序,那么将使用哪个关闭进程?
如果您shutdown
手动执行,则其优先级高于设置(defrag_always=true
)。因此,如果执行shutdown compact
,那么这就是完成的,而defrag
不是完成的。如果执行shutdown defrag
,那么无论设置如何,都可以完成。如果您只是正常关闭数据库,则使用该设置defrag_always
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句