问题 | 说明 | 解决方法 |
---|---|---|
脏读 | 一个事务访问到另外一个事务未提交的数据 | 行锁 |
不可重复读 | 多次读取同一条记录,得到的记录值不一致 | MVCC |
幻读 | 多次读取某范围内的记录,得到的记录条数不一致 | Next-key lock |
隔离级别 | 描述 | 实现原理 |
---|---|---|
读未提交 | 一个还没提交的事物的变更可以被别的事物看到 | |
读提交 | 一个事物提交后,别的事物才能看到该事物的变更 | 快照读+undo log |
可重复读 | 一个事物在执行过程中看到的数据,总是和事物启动时看到的一致 | 当前读+undo log |
串行化 | 对同一行记录会加读、写锁 |