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

【请关注】MySQL 中常见的加锁方式及各类锁常见问题及对应的解决方法

一、MySQL 中常见的加锁方式:
 
1. 表锁(Table Lock)
 
- 存储引擎:MyISAM(默认)、Memory。
- 特点:锁定整张表,并发性能低,适合读多写少场景。
- 语法:
-- 手动加表锁(共享锁)
LOCK TABLES table_name READ;  
-- 手动加表锁(排他锁)
LOCK TABLES table_name WRITE;  
 
- 释放:执行  UNLOCK TABLES;  或会话结束自动释放。
 
2. 行锁(Row Lock)

 
- 存储引擎:InnoDB(默认)。
- 特点:锁定单行数据,并发性能高,通过索引精准锁定行。
- 类型:
- 共享锁(S锁):允许事务读数据,其他事务可加S锁但不能加X锁。
SELECT * FROM table_name WHERE id=1 LOCK IN SHARE MODE;  -- 手动加S锁
 
- 排他锁(X锁):禁止其他事务读写数据。
SELECT * FROM table_name WHERE id=1 FOR U

http://www.xdnf.cn/news/778195.html

相关文章:

  • macos常见且应该避免被覆盖的系统环境变量(避免用 USERNAME 作为你的自定义变量名)
  • 数据结构:递归:自然数之和
  • MYSQL 高级 SQL 技巧
  • 虚拟线程与消息队列:Spring Boot 3.5 中异步架构的演进与选择
  • 从零打造AI面试系统全栈开发
  • 字节新出的MCP应用DeepSearch,有点意思。
  • 基于大模型的短暂性脑缺血发作(TIA)全流程预测与干预系统技术方案
  • forEach不能用return中断循环,还是会走循环外的逻辑
  • idea不识别lombok---实体类报没有getter方法
  • 【计算机网络】第七章 运输层
  • 阿里云无影云桌面深度测评
  • GLIDE论文阅读笔记与DDPM(Diffusion model)的原理推导
  • 调用.net DLL让CANoe自动识别串口号
  • 【 java 集合知识 第一篇 】
  • AI视频编码器(0.4.3) 调试训练bug——使用timm SoftTargetCrossEntropy时出现loss inf
  • 区块链技术赋能供应链金融:重塑信任与效率
  • 安装和配置 Nginx 和 Mysql —— 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录6
  • 穿越文件之海:Linux链接与库的奇幻旅程,软硬连接与动静态库
  • 大数据 ETL 工具 Sqoop 深度解析与实战指南
  • RabbitMQ 监控与调优实战指南(二)
  • 场景题-1
  • 【数据库】《DBA实战手记》- 读书笔记
  • React前端框架
  • Agentic Workflow是什么?Agentic Workflow会成为下一个AI风口吗?
  • LeetCode - 144. 二叉树的前序遍历
  • TCP的粘包和拆包
  • PostgreSQL的扩展 auth_delay
  • 【Node.js 深度解析】npm install 遭遇:npm ERR! code CERT_HAS_EXPIRED 错误的终极解决方案
  • SQLite详细解读
  • Matlab数值计算