基本是面试必问的题目了,以前没有花心思去记,觉得很绕。
隔离级别有4个(从低到高)对应着3个事务问题
Read uncommitted 读未提交
Read commited 读已提交
Repeatable read 重复读
Serializable 序列化
脏读 | 不可重复读 | 幻读 | |
Read Uncommitted | Y | Y | Y |
Read Committed | N | Y | Y |
Repeatable read | N | N | Y |
Serializable | N | N | N |
脏读:一个事务读到另一个为提交update
不可重复读:一个事务读取到另一个提交了的update
幻读:一个事务中读取到另一个事务新插入的数据了
Read Uncommitted ----读未提交 ---所有都会出现
Read Committed ---读已提交 ---避免脏读 Oracle sql server
Repeatable read ----重复读 ---避免不可重复读和脏读 MySQL
serializable-----序列化 ----避免所有问题出现