登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
安全
›
MySQL 07 行锁功过:怎么减少行锁对性能的影响? ...
MySQL 07 行锁功过:怎么减少行锁对性能的影响?
[ 复制链接 ]
替攀浮
2025-9-25 21:07:17
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
行锁是针对数据表中行记录的锁,是在引擎层由引擎实现的。
从两阶段锁说起
在InnoDB
事务
中,行锁是在需要的时候才加上的,但并不是不需要了就立即释放,而是等到事务结束时才释放,这就是
两阶段锁协议
。
知道这个设定后,如果事务中需要锁多个行,要把最可能造成锁冲突、最可能影响并发度的锁
尽量往后放
。
举个例子,假设有个电影票交易业务,顾客A要在影院B买电影票,其涉及如下操作:
从顾客A账户余额中扣减电影票价;
给影院B账户余额增加电影票价;
记录一条交易日志。
这些操作涉及三条语句,为了保证原子性,会把三个操作放在一个事务中。而观察这三个操作,会发现语句2最可能造成冲突,因为不同顾客买票都会使用语句2修改同一行数据。
根据两阶段锁协议,锁等待是一定有的,而把语句2安排在最后,比如按照312这样的顺序,就能做到最可能造成锁冲突的锁放在后面,最大程度减少了事务之间的等待。
死锁和死锁检测
当并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源时,就会导致这几个线程都进入无限等待的状态,称为死锁。
以行锁举例:
这时,事务A等待事务B释放id=2的行锁,而事务B等待事务A释放id=1的行锁,造成死锁。
当出现死锁,有两种策略:
直接进入等待,直到超时。这个超时时间可以通过参数innodb_lock_wait_timeout设置。在InnoDB里,默认值是50秒,这往往无法接受。但也不能直接把这个时间设置成一个很小的值,因为会无法区分死锁和简单的锁等待,造成误伤。因此,这种方法一般不使用。
发起死锁检测,发现死锁后,主动回滚死锁链条中的某一个事务,让其他事务得以继续执行。设置参数innode_deadlock_detect=on,表示开启这个逻辑。
正常情况使用第二种策略,但死锁检测也是有负担的。假如n个事务都要更新同一行,由于每个新来的被堵住的线程都要判断自己是否导致了死锁,这个复杂度为\(O(n)\),总复杂度就会达到\(O(n^2)\)。
对于这种热点行更新导致的性能问题,思路主要是:
对于相同行的更新,在进入引擎之前排队。这样在InnoDB内部就不会有大量的死锁检测工作。
将一行改成逻辑的多行来减少锁冲突。比如将影院账户拆成10个记录,这样每次加金额时随机选择其中一条记录来加,每次冲突概率变成原来的1/10,可以减少锁等待个数,也就减少了死锁检测的CPU消耗。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
行锁
MySQL
功过
怎么
减少
相关帖子
SHEIN怎么上架产品?SHEIN上架流程一览!附工具推荐!
SHEIN怎么上架产品?SHEIN上架流程一览!附工具推荐!
MySQL InnoDB表必须有主键,并且推荐整型自增
MySQL不推荐使用UUID等字符串做主键
程序员搞副业三年,我是怎么从散单到建立自己的接单品牌的?
MySQL如何修改组复制通信栈(Communication Stack)
揭秘MySQL索引分类
MySQL备份恢复全攻略:mysqldump与xtrabackup实战(DBA救命指南)
Mysql的行级锁到底是怎么加的?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
SHEIN怎么上架产品?SHEIN上架流程一览!附工具推荐!
0
23
扔飒
2026-03-13
安全
SHEIN怎么上架产品?SHEIN上架流程一览!附工具推荐!
0
46
东郭欣然
2026-03-13
安全
MySQL InnoDB表必须有主键,并且推荐整型自增
0
350
仟仞
2026-03-15
业界
MySQL不推荐使用UUID等字符串做主键
0
615
司寇涵涵
2026-03-15
安全
程序员搞副业三年,我是怎么从散单到建立自己的接单品牌的?
0
927
煞赶峙
2026-03-18
安全
MySQL如何修改组复制通信栈(Communication Stack)
0
44
龙正平
2026-03-19
业界
揭秘MySQL索引分类
0
902
瞪皱炕
2026-03-24
安全
MySQL备份恢复全攻略:mysqldump与xtrabackup实战(DBA救命指南)
0
860
峰邑
2026-03-25
业界
Mysql的行级锁到底是怎么加的?
0
600
兑谓
2026-03-26
回复
(33)
松菊
2025-12-1 22:08:38
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
施婉秀
2025-12-6 12:20:48
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
咫噎
2025-12-11 03:57:15
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享
锄淫鲷
2025-12-12 16:11:36
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
喳谍
2026-1-5 11:38:43
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享
方方仪
2026-1-18 21:39:58
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
些耨努
2026-1-20 10:28:36
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
热心回复!
荆邦
2026-1-22 15:17:03
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
搜娲瘠
2026-1-22 16:36:01
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
韦逸思
2026-1-23 10:18:04
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
韦逸思
2026-1-24 05:06:45
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
高清宁
2026-1-24 07:04:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
归筠溪
2026-1-25 09:13:51
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
挫莉虻
2026-1-29 04:01:18
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
泻缥
2026-1-30 02:55:58
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
贺蛟亡
2026-2-2 02:26:49
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
热心回复!
兑谓
2026-2-2 02:39:15
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
章娅萝
2026-2-4 09:24:33
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
恶凝毛
2026-2-4 09:27:50
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
替攀浮
2026-2-4 09:27:50
关注
0
粉丝关注
19
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9916
7
宋子
9878
8
荪俗
9018
9
闰咄阅
9995
10
蓬森莉
9870
查看更多
今日好文热榜
211
构建企业级智能知识库:Vue3 + TypeScript
499
读2025世界前沿技术发展报告24其他飞行器
783
读2025世界前沿技术发展报告24其他飞行器
747
读2025世界前沿技术发展报告24其他飞行器
434
读2025世界前沿技术发展报告24其他飞行器
277
读2025世界前沿技术发展报告24其他飞行器
640
读2025世界前沿技术发展报告24其他飞行器
516
读2025世界前沿技术发展报告24其他飞行器
471
读2025世界前沿技术发展报告24其他飞行器
812
读2025世界前沿技术发展报告24其他飞行器
278
读2025世界前沿技术发展报告24其他飞行器
619
读2025世界前沿技术发展报告24其他飞行器
157
读2025世界前沿技术发展报告24其他飞行器
962
读2025世界前沿技术发展报告24其他飞行器
890
读2025世界前沿技术发展报告24其他飞行器
938
读2025世界前沿技术发展报告24其他飞行器
964
读2025世界前沿技术发展报告24其他飞行器
849
读2025世界前沿技术发展报告24其他飞行器
658
读2025世界前沿技术发展报告24其他飞行器
477
读2025世界前沿技术发展报告24其他飞行器