MySQL for update语句分析

本文深入分析了MySQL中for update语句在InnoDB存储引擎下的锁行为,包括全表锁、记录锁和间隙锁。通过实验验证了不同类型的SQL语句会触发不同级别的锁,总结得出:无查询条件或非主键索引查询时锁为表级锁,主键或索引等值查询为记录锁,范围查询则会触发范围锁。
摘要由CSDN通过智能技术生成

MySQL for update语句分析

实验环境mysql-5.7.35

1、猜想

1.1、InnoDB存储引擎

建表、数据SQL语句如下:

--建表语句
CREATE TABLE `test_for_update` (
  `id` bigint(18) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_name` (`name`)
) ENGINE=InnoDB;
--录入数据
insert into `test_for_update` (`id`, `name`, `description`) values('1','还好','111');
insert into `test_for_update` (`id`, `name`, `description`) values('2','色温','222');
insert into `test_for_update` (`id`, `
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值