Oracle 不允许脏读,因此甚至不允许从 JDBC 设置 Read Uncommitted。
PostgreSQL also falls back to Read Committed, when choosing Read Uncommitted.
SQL Server 定义了 Read Uncommitted 隔离级别,因为它的并发控制模型是基于锁定的(除非切换到两个快照隔离级别),因此它可能是唯一可以从避免锁定报告中看到一些性能优势的数据库确实需要严格的一致性。
InnoDB 也使用 MVCC,但与 Oracle 和 PostgreSQL 不同的是,它允许脏读。为什么会这样?直接转到最新版本而不是从回滚段重建以前的版本是否有任何性能优势?回滚段查询时间是否恢复了需要允许脏读的密集过程?