在事务处理期间在HSQLDB中进行查询

问题描述

我正在使用HsqlDB进行测试,并且希望能够在此测试期间对数据库进行选择查询,以查看发生了什么变化。我想测试时事务或其他原因阻塞了数据库,但我无法进行查询... 是否可以通过这种方式配置hsql服务器以执行这些查询

解决方法

如果您正在启动HyperSQL Server并使用jdbc:hsqldb:hsql:xxxx连接URL进行连接,则此答案有效。

默认事务隔离模型是LOCKS。在此模型中,在事务期间修改表的行时将锁定它们。您需要对数据库使用MVCC模型,以允许其他连接访问该表。

但是,当您修改行时,只有进行更改的事务才能看到这些更改,直到提交数据并且其他连接可以看到更改为止。