关闭 HyperSQL 数据库

所有正在运行的数据库都可以通过命令 SHUTDOWN 来关闭,这个命令的使用和一个 SQL 命令的使用相同。

当 SHUTDOWN 命令被执行,所有正在运行的数据库命令将会被回滚。同时编目文件将会被保存到一个表单中,以便于下次快速启动。

数据库关闭时候使用的表单可以通过命令 SHUTDOWN COMPACT 命令来创建。这个命令将会重写 .data 文件。这个文件保存有 CACHED 表中的所有数据,同时被压缩。

这个命令应该在进行大量插入,更新或者删除之前使用,以增加数据库的效率,因为上面的操作将会大量操作数据库的缓存表。

修改数据库结构,例如删除或者修改也将会大量使用缓存表和索引,这个时候将会在磁盘空间上创建大量未使用的空间,这时候你可以提前使用下这个命令,将缓存进行保存。

当最后的一个数据库连接被 JDBC 关闭后,数据库并不会被直接关闭。当最后的连接被关闭后,你可以使用命令 shutdown=true 能够指向最早连接数据库的一个连接(打开数据库的连接)来强制关闭数据库。Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb;shutdown=true", "SA", "");这样设计的好处是在软件项目的开发和测试阶段,但是在测试完成后,数据库可能不会自动的被关闭。

这种方式不推荐在正式的应用程序中使用。