mysql的InnoDB行锁的一点反思
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,刚参加工作时,遇到的mysql死锁的问题。具体情况如下:网页有个统计访问次数功能,然后这个次数num是int类型,网页每次被访问一次就增1,然后运营在跑批量任务的时候,造成数据量这个字段死锁了。然后D
千家信息网最后更新 2025年12月02日mysql的InnoDB行锁的一点反思
刚参加工作时,遇到的mysql死锁的问题。具体情况如下:
网页有个统计访问次数功能,然后这个次数num是int类型,网页每次被访问一次就增1,然后运营在跑批量任务的时候,造成数据量这个字段死锁了。然后DBA就查询造成死锁的原因,最后发现是我的代码造成的死锁,然后这个锅,我接下了。这个问题怎么解决的,我一直没有察觉到,因为他们没有要求修改代码。后来我一直在思考这个问题,具体是什么原因引起的死锁。由于无法重现当时的应用场景和各种服务配置,我也无法深究这个问题。后来只能认真的研究mysql的锁和java的并发控制。
N久没有动笔写文字了,表达还是有点问题,等我理清思路后,再详细写写这方面的文字,今天就简单的写一下mysql关于innoDb行锁要注意的两个地方,还有其他很多需要的地方,这里只简单记录一下,只能叫简单记录。
先说一下,innoDB行锁的现实方式,它是通过给索引上的索引项加锁来实现的。这就决定了行级锁使用的前提是通过索引条件检索数据,否则,innoDB将使用表级锁。第二点要说的即使在条件中使用了索引字段,但是是否使用索引来检索数据是由mysql通过判断不同执行计划的代价来决定的,如果mysql任务全表扫描效率更高,它就不会使用索引,这种情况下innoDB将使用表锁,而不是行锁。所以在分析mysql的锁问题时,有时候需要使用explain来检查SQL的执行计划。
问题
索引
死锁
数据
代码
任务
原因
地方
字段
情况
文字
条件
次数
网页
检索
不同
两个
代价
前提
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络安全从哪里学起
中国2021服务器市场份额
网络技术市盈率
河北前端软件开发哪家便宜
计算机网络技术实训内容报告
sdmaid优化数据库有什么用
文档软件开发服务放心可靠
旅游网站数据库如何设计
mis中数据库的作用
网络安全吗视频
互联网科技风向
公司app的服务器在哪里
更新软件服务器不能用是什么原因
西门子db数据库的用处
将远程数据库备份到本地
电脑网络安全模式怎么下载系统
盛世皇朝网络技术
pubg端游连不上服务器
深圳 云柜网络技术有限公司
云端服务器是谁发明的
软件开发知识产权和所有权
打卡分钱软件开发
软件开发时间节点
android版数据库
数据库系统工程师和数据库工程师
一般软件系统连接不同的数据库
网络安全产品漏洞扫描
戴尔服务器电池怎么更换
多肽 数据库
我的世界方块研究所服务器 要塞的坐标