如何申请免费域名做网站,免费推广神器,网站域名可以更改吗,wordpress安装后无法登陆后台1.MySQL有哪些锁#xff1f;
全局锁表级锁 表锁元数据锁意向锁 行级锁 记录锁间隙锁临键锁临时意向锁
我了解的是MySQL的锁可以分为全局锁、表级锁、行级锁。
我比较熟悉的是表级锁和行级锁#xff0c;如果我们对表结构进行修改时#xff0c;MySQL就会对这个表结构加一个…1.MySQL有哪些锁
全局锁表级锁 表锁元数据锁意向锁 行级锁 记录锁间隙锁临键锁临时意向锁
我了解的是MySQL的锁可以分为全局锁、表级锁、行级锁。
我比较熟悉的是表级锁和行级锁如果我们对表结构进行修改时MySQL就会对这个表结构加一个元数据锁。
行级锁目前只有InnoDB存储引擎实现了主要有记录锁、间隙锁、临键锁、插入意向锁。
2.MySQL是怎么加锁的【可重复读隔离级别】
加锁的对象是索引加锁的基本单位是临键锁临键锁是前开后闭区间间隙锁是前开后开区间。但是在某些场景下临键锁是会退化成记录锁或间隙锁的那就是在使用记录锁或间隙锁就能避免幻读的场景下。
推荐文章MySQL 是怎么加锁的
2.1 对于等值查询那么他会怎么加锁
首先我们可以想到查询的这个是唯一索引呢还是非唯一索引或者说没有索引。 在可重复读隔离级别下以上三种情况都是有可能的。 如果是唯一索引还要看查看的记录是否存在如果存在那么这条记录加的锁变成记录锁其它还是临键锁如果不存在则加间隙锁。 如果是非唯一索引也要看记录是否存在如果存在由于非唯一索引可能有多个相同的值所以它会进行一个扫描对于符合条件的二级索引记录加临键锁最后扫描到第一个不符合条件的二级索引记录就停止然后对第一个不符合条件的记录加间隙锁同时在其主键索引上加记录锁。如果不存在对第一个不符合条件的二级索引记录加间隙锁。 如果没有索引或没有命中那就全表扫描都加临键锁。