说明
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='';
以上就是mysql加锁规则的介绍,希望对大家有所帮助。更多mysql学习指路:
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑