前言:接着上篇文章说,mysql行锁是跟着索引走的,会根据不同的索引类别添加不同的锁,下面开始介绍。
准备工作
先创建一张用户表,id为主键,但是不要让id自动增长,id值不要全部连续。
CREATE TABLE `t_user` (
`id` int NOT NULL,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`age` int DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `age_idx` (`age`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
BEGIN;
INSERT INTO `t_user` (`id`, `name`, `age`) VALUES (1, '碧凡', 21);
INSERT INTO `t_user` (`id`, `name`, `age`) VALUES (2, '夏菡', 21);
INSERT INTO `t_user` (`id`, `name`, `age`) VALUES (3,

本文详细介绍了MySQL中行锁如何根据索引类型进行加锁,包括主键等值查询时存在和不存在数据的情况,以及非主键唯一索引和普通索引的加锁行为。通过实例展示了不同查询如何影响锁的模式和数据范围,揭示了间隙锁、区间锁和行锁的概念。
最低0.47元/天 解锁文章
1963

被折叠的 条评论
为什么被折叠?



