【发布时间】:2021-01-17 06:52:32
【问题描述】:
我正在使用 HSQLDB 运行测试,并且我希望能够在此测试期间对数据库进行选择查询,以查看发生了什么变化。我想事务或其他东西在测试时阻塞了数据库,我无法进行查询...... 是否有可能以这种方式配置 hsql 服务器来执行这些查询?
【问题讨论】:
我正在使用 HSQLDB 运行测试,并且我希望能够在此测试期间对数据库进行选择查询,以查看发生了什么变化。我想事务或其他东西在测试时阻塞了数据库,我无法进行查询...... 是否有可能以这种方式配置 hsql 服务器来执行这些查询?
【问题讨论】:
如果您正在启动 HyperSQL Server 并使用jdbc:hsqldb:hsql:xxxx 连接 URL 连接,则此答案有效。
默认的事务隔离模型是LOCKS。在此模型中,当在事务期间修改表的行时,表将被锁定。您需要对数据库使用 MVCC 模型,以允许其他连接访问该表。
但是,当您修改行时,这些更改仅对进行更改的事务可见,直到它提交数据并且更改对其他连接可见。
【讨论】: