所有正在运行 的数据库 都可以通过命令 SHUTDOWN 来关闭,这个命令的使用和一个 SQL 命令的使用相同。
当 SHUTDOWN 命令被执行,所有正在运行的数据 库命令将会被回滚。同时编目文件 将会被保存到一个表单中,以便于下次快速启动。
数据库关闭时候使用的表单可以通过命令 SHUTDOWN COMPACT 命令来创建。这个命令将会重写 .data 文件。这个文件保存有 CACHED 表中的所有数据,同时被压缩。
这个命令应该在进行大量插入,更新或者删除 之前使用,以增加数据库的效率,因为上面的操作将会大量操作数据库的缓存表。
修改数据库结构 ,例如删除或者修改也将会大量使用缓存表和索引,这个时候将会在磁盘空间 上创建大量未使用的空间,这时候你可以提前使用下这个命令,将缓存进行保存。
当最后的一个数据库连接被 JDBC 关闭后,数据库并不会被直接关闭。当最后的连接被关闭后,你可以使用命令 shutdown=true 能够指向最早连接数据库的一个连接(打开数据库的连接)来强制关闭数据库。
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb;shutdown=true", "SA", "");
这样设计的好处是在软件 项目 的开发 和测试阶段,但是在测试完成后,数据库可能不会自动的被关闭。
这种方式不推荐在正式的应用 程序 中使用。