随笔分类 -  MySQL Lock

摘要:测试环境 MySQL版本: 5.7.30 事务级别: READ-COMMITTED 测试数据 mysql> show create table tb1001 \G *************************** 1. row *************************** Table 阅读全文
posted @ 2021-04-14 20:34 TeyGao 阅读(387) 评论(0) 推荐(0) 编辑
摘要:测试环境 MySQL版本: 5.7.30 事务级别: READ-COMMITTED 测试内容 在MySQL官方文档中有如下描述: For SELECT ... FOR UPDATE or SELECT ... LOCK IN SHARE MODE, locks are acquired for sc 阅读全文
posted @ 2021-04-14 17:37 TeyGao 阅读(406) 评论(0) 推荐(0) 编辑
摘要:测试环境 MySQL版本: 5.7.30 事务级别: READ-COMMITTED 测试内容 在MySQL官方文档中有如下描述: For SELECT ... FOR UPDATE or SELECT ... LOCK IN SHARE MODE, locks are acquired for sc 阅读全文
posted @ 2021-04-14 17:36 TeyGao 阅读(298) 评论(0) 推荐(0) 编辑
摘要:测试环境 MySQL版本: 5.7.30 事务级别: READ-COMMITTED 测试数据 mysql> show create table tb1001 \G *************************** 1. row *************************** Table 阅读全文
posted @ 2021-04-14 00:14 TeyGao 阅读(236) 评论(0) 推荐(0) 编辑
摘要:涉及表结构 CREATE TABLE `am_friend_send_link` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `task_id` int(11) NOT NULL COMMENT '任务id', `rob 阅读全文
posted @ 2020-06-17 13:54 TeyGao 阅读(513) 评论(0) 推荐(0) 编辑
摘要:准备测试数据: 测试1: 上面操作执行后,使用SHOW ENGINE INNODB STATUS查看锁信息 上面事务加两个锁: 1、表上加意向修改锁(IX)。 2、在新插入的记录上加行锁(RECORD LOCKS ..lock_mode X locks rec but not gap) 测试2: 上 阅读全文
posted @ 2019-06-20 16:34 TeyGao 阅读(1331) 评论(0) 推荐(0) 编辑
摘要:准备测试数据: 测试1: 使用SHOW ENGINE INNODB STATUS 查看,输出锁信息为: 加锁详解: 阅读全文
posted @ 2019-06-20 11:20 TeyGao 阅读(169) 评论(0) 推荐(0) 编辑
摘要:准备测试数据: 测试1: 锁阻塞信息如下: 绿色部分表示申请锁成功,黄色部分表示申请锁被阻塞。 使用SHOW ENGINE INNODB STATUS 查看,输出锁信息为: 加锁详解: Record LOCK, HEAP NO 3 PHYSICAL RECORD: n_fields 5; COMPA 阅读全文
posted @ 2019-06-20 10:48 TeyGao 阅读(646) 评论(0) 推荐(0) 编辑
摘要:在事务插入数据过程中,为防止其他事务向索引上该位置插入数据,会在插入之前先申请插入意向范围锁,而如果申请插入意向范围锁被阻塞,则事务处于gap before rec insert intention waiting的等待状态。 MySQL官方文档解释如下: 准备测试数据: 先执行事务(事务13286 阅读全文
posted @ 2019-06-17 23:33 TeyGao 阅读(5793) 评论(0) 推荐(1) 编辑
摘要:测试脚本: 案例分析 参考: INSERT加锁规则 阅读全文
posted @ 2019-02-21 14:21 TeyGao 阅读(714) 评论(0) 推荐(0) 编辑
摘要:淘宝林晓斌总结 学习整理: Insert操作加锁规则 官方文档: 阅读全文
posted @ 2019-02-21 13:42 TeyGao 阅读(426) 评论(0) 推荐(0) 编辑
摘要:按照非索引列更新 ## ## 测试数据: CREATE TABLE `tb4001` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `c1` int(11) DEFAULT NULL, `c2` varchar(200) DEFAULT NULL, `c3` 阅读全文
posted @ 2019-02-21 11:31 TeyGao 阅读(1165) 评论(0) 推荐(0) 编辑
摘要:非索引列更新 ## ## 测试数据: CREATE TABLE `tb4001` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `c1` int(11) DEFAULT NULL, `c2` varchar(200) DEFAULT NULL, `c3` in 阅读全文
posted @ 2019-02-21 11:03 TeyGao 阅读(873) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,事务隔离级别RC(read commit)和RR(repeatable read)两种事务隔离级别基于多版本并发控制MVCC(multi-version concurrency control)来实现。 阅读全文
posted @ 2019-02-21 10:35 TeyGao 阅读(2027) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示