Mysql知识:锁

锁有不同的分类标准,可以分为以下:

 

 

 

从粒度上来看,innodb只有表锁和行锁

 

 myisam不支持行锁

 

 

 

共享锁和排他锁(s锁和x锁,读锁和写锁,都是一个意思)

 

 用来读数据,其他事务也可也读到,但不允许修改,多个共享锁可以共存

 

 

 

 

 

什么是意向锁

 

 数据引擎维护,是为了避免用于判断没有其他事务锁住行时,还要使用全表扫描

 

 

 

锁住的不是---不是一行数据,不是一个字段,也不是一列
而是锁住的是索引
 
 
行锁算法:

记录,间隙,临键

 

 

 

 

 

 

 

 当索引搜索不到任何数据时,锁住的是间隙(间隙锁用于防止在该范围插入数据)

 

 

 

 

 

事务隔离级别对锁的使用:

 

 

innodb如何在可重复读事务隔离级别避免幻读

RC--提交读

RR--可重复读

可重复读时:锁住了间隙锁,防止插入

 

posted @ 2021-03-15 10:14  将来的事  阅读(47)  评论(0)    收藏  举报