当前位置: 首页 > news >正文

关于SELECT...FOR UPDATE到底锁表还是锁行

结论:无论是不是唯一索引,既锁表也锁行
不是像网上说的唯一索引锁行,非唯一索引缩表。

实验

先看表结构和数据:
请添加图片描述
可以看到 docters.name是唯一索引,docters.on_call不是索引。

mysql如何查看锁状态?
可以通过show engine innodb status;查看。
或者
mysql8.0之前使用命令 select * from information_schema.innodb_locks;
mysql8.0之后使用命令 select * from performance_schema.data_locks;

什么都没操作之前看一下锁状态,图片如下:请添加图片描述

对docters.name唯一索引字段做普通查询,不加锁,图片如下:
请添加图片描述
对docters.name唯一索引字段做for update查询,加IX表锁和两个非间隙锁的行锁,图片如下:
请添加图片描述

对docters.on_call非索引字段做for update查询,加IX表锁和两个非间隙锁的行锁,以及一个gap锁,图片如下:

请添加图片描述

相关文章:

  • 解决问题的思路很重要,运维领域,结果对,过程就对!
  • C++ 顺序表和单链表的二路归并思想(详解+示例代码)
  • T1071 菲波那契数(信息学一本通C++)
  • Android开发基础——广播实践
  • opencv 深度学习
  • Windows取证——基本网络命令
  • CDH 09Cloudera Manager Kerberos安装配置(markdown新版二)
  • 小米面试——案例总结
  • 电源硬件设计----升降压变换器(负压输出)基础
  • Nodejs系列之模块加载机制
  • MyBatis 查询数据库入门
  • LQ0026 修剪灌木【数学】
  • 重识Nginx - 02 手把手教你编译适合自己的nginx 1.22.0
  • Java泛型详解
  • opencv连通域标记 connectedComponentsWithStats()函数
  • 收藏网友的 源程序下载网
  • angular2 简述
  • CentOS7简单部署NFS
  • Consul Config 使用Git做版本控制的实现
  • egg(89)--egg之redis的发布和订阅
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Mysql数据库的条件查询语句
  • Python3爬取英雄联盟英雄皮肤大图
  • scala基础语法(二)
  • 回顾2016
  • 使用common-codec进行md5加密
  • 微服务核心架构梳理
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 选择阿里云数据库HBase版十大理由
  • "无招胜有招"nbsp;史上最全的互…
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #预处理和函数的对比以及条件编译
  • (4)(4.6) Triducer
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (四) 虚拟摄像头vivi体验
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)项目管理杂谈-我所期望的新人
  • .gitignore文件_Git:.gitignore
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core Web APi类库如何内嵌运行?
  • .net MySql
  • .NET 回调、接口回调、 委托
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [C++]模板与STL简介