这篇文章主要介绍“mysql加锁规则指的是什么”,在日常操作中,相信很多人在mysql加锁规则指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql加锁规则指的是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
说明
1、next-keylock是加锁的基本单位。
next-keylock是前开后闭的区间。
2、只有在搜索过程中访问的对象才会被锁定。
3、等值查询,为唯一索引加锁时,next-keylock退化为行锁。
如果不是唯一的索引,当向右遍历时,最后一个值不符合等值条件时,next-keylock退化为间隙锁。
4、范围查询。
无论是否是唯一索引,范围查询都需要访问到不满足条件的第一个值为止。
实例
CREATE TABLE `demo_table` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `a` varchar(32) NOT NULL COMMENT '美团订单uid', `b` varchar(32) NOT NULL COMMENT '美团订单uid', `c` varchar(32) NOT NULL COMMENT '美团订单uid' PRIMARY KEY (`id`), UNIQUE KEY `a` (`a`), KEY `b` (`b`), ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='';