不可重复读与幻象读的区别 (unrepeatable read与phantom read)

不可重复读 幻象读
两次读取之间,其他事务对于某一行数据的修改或者删除造成

两次读取之间,其他事务添加了一行数据
行级锁可以解决 表级锁才可以解决

实际开发中,表级锁是天方夜谈,就是行级锁,都是需要慎用的。

隔离级别 脏读 不可重复读 幻象读
READ_UNCOMMITED 允许 允许 允许
READ_COMMITED 不允许 允许 允许
REPEATABLE READ 不允许 不允许 允许
SERIALIZABLE 不允许 不允许 不允许

oracle原生不支持read uncommitted;剩下的repeatable read和serializable read性能不如read commited

所以一般开发中都采用read commited级别

你可能感兴趣的:(不可重复读与幻象读的区别 (unrepeatable read与phantom read))