H2 / HSQL一致性水平

时间:2017-09-10 05:17:14

标签: java h2 hsqldb isolation-level

Does H2 support the serializable isolation level?阅读http://www.h2database.com/html/advanced.html#transaction_isolation和相应的H2文档后,我开始怀疑使用H2 - 因为它在使用MVCC时只支持READ_COMMITTED隔离。当然,这意味着我有时可能会读取一组不一致的数据(其他连接更新并在我的连接读取时部分提交读取数据),从而导致错误的结果/更新。

http://hsqldb.org/doc/guide/guide.html#snc_tx_mvcc可以看到HSQL支持REPEATABLE_READS,这在实现中等同于SERIALIZABLE。

假设我想在HSQL中使用SERIALIZABLE隔离,由于锁定/隔离,我在哪里需要死锁/ SQL错误?只有在写入时,或者这也会发生与写入冲突的读取操作?数据库是Web前端的数据存储,我认为数据提交产生错误是可以接受的,但是对于常规的HTML页面读取它是不可接受的。

更新(来自HSQLDB文档):

  

对于MVCC,当事务只读取数据时,它将继续   无论其他交易可能做什么,都要完成。这样做   不依赖于只读事务或隔离模式。

0 个答案:

没有答案