【发布时间】:2016-01-18 08:00:54
【问题描述】:
Oracle 不允许脏读,因此甚至不允许从 JDBC 设置 Read Uncommitted。
PostgreSQL还会在选择读取毫无疑问时返回读取。
SQL Server 定义了 Read Uncommitted 隔离级别,因为它的并发控制模型是基于锁定的(除非切换到两个快照隔离级别),因此它可能是唯一可以从避免锁定报告中看到一些性能优势的数据库不需要严格的一致性。
InnoDB 也使用 MVCC,但与 Oracle 和 PostgreSQL 不同的是,它允许脏读。为什么会这样?直接转到最新版本而不是从回滚段重建以前的版本是否有任何性能优势?回滚段查询时恢复是否需要允许脏读的密集过程?
【问题讨论】:
-
你看过这个博客吗? percona.com/blog/2015/01/14/…
标签: mysql jdbc transactions read-uncommitted dirtyread