MySQL的锁、索引、隔离级别与实现方式

时间:2021-08-30 05:14:19   收藏:0   阅读:13

1.锁的类型

InnoDB共有七种类型的锁:


2.MySQL索引


3.MySQL隔离级别与实现方式

隔离级别

出现问题

实现方式

普通select

locking select/update/delete会

读未提交(Read Uncommitted)

脏读

select语句不加锁,也不是快照读

读已提交(Read Committed)

不可重复读

(其他已提交事务的update和delete)

最新的快照读(MVCC)

加记录锁(recording lock)

可重复读(Repeated Read)

默认模式

幻读

(其他已提交事务的insert)

本事务第一次的快照读(MVCC)

符合唯一索引配合唯一查询条件,加记录锁

符合范围查询或非唯一索引使用间隙锁(gap lock)与临键锁(next-key lock),可避免幻读

串行化(Serializable)

效率低

默认都加读锁

原文:https://www.cnblogs.com/universeliu/p/15194197.html

评论(0)
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!