mysql的InnoDB行锁的一点反思
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,刚参加工作时,遇到的mysql死锁的问题。具体情况如下:网页有个统计访问次数功能,然后这个次数num是int类型,网页每次被访问一次就增1,然后运营在跑批量任务的时候,造成数据量这个字段死锁了。然后D
千家信息网最后更新 2025年02月02日mysql的InnoDB行锁的一点反思
刚参加工作时,遇到的mysql死锁的问题。具体情况如下:
网页有个统计访问次数功能,然后这个次数num是int类型,网页每次被访问一次就增1,然后运营在跑批量任务的时候,造成数据量这个字段死锁了。然后DBA就查询造成死锁的原因,最后发现是我的代码造成的死锁,然后这个锅,我接下了。这个问题怎么解决的,我一直没有察觉到,因为他们没有要求修改代码。后来我一直在思考这个问题,具体是什么原因引起的死锁。由于无法重现当时的应用场景和各种服务配置,我也无法深究这个问题。后来只能认真的研究mysql的锁和java的并发控制。
N久没有动笔写文字了,表达还是有点问题,等我理清思路后,再详细写写这方面的文字,今天就简单的写一下mysql关于innoDb行锁要注意的两个地方,还有其他很多需要的地方,这里只简单记录一下,只能叫简单记录。
先说一下,innoDB行锁的现实方式,它是通过给索引上的索引项加锁来实现的。这就决定了行级锁使用的前提是通过索引条件检索数据,否则,innoDB将使用表级锁。第二点要说的即使在条件中使用了索引字段,但是是否使用索引来检索数据是由mysql通过判断不同执行计划的代价来决定的,如果mysql任务全表扫描效率更高,它就不会使用索引,这种情况下innoDB将使用表锁,而不是行锁。所以在分析mysql的锁问题时,有时候需要使用explain来检查SQL的执行计划。
问题
索引
死锁
数据
代码
任务
原因
地方
字段
情况
文字
条件
次数
网页
检索
不同
两个
代价
前提
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
传奇4一直前端服务器验证中
滁州回收服务器价格
国外最赚钱的网络技术
免费实时数据库软件
山东图灵网络技术有限公司
魔兽世界转服务器cd多久
南京的网络技术公司招聘
java数据库例题
河南网站服务器管理权限云空间
网络安全审计操作规程
云服务器缺货
电力网络安全体系四梁八柱
什么是数据库的主键和候选码
灞桥区软件开发培训机构
传奇 mdb数据库
服务器上跑jar包
svn 服务器搭建
网络安全重要意义是什么
浙江大学数据库系统考卷
保护网络安全的英语手抄报
行星边际2有哪些服务器
dnf服务器开机时间
信息管理与数据库技术的优点
网络安全概念股新闻
航天发展网络安全
网络安全金盾杯在哪个平台
网络安全板块的未来
数据库报错列与值不匹配
浙江大学数据库系统考卷
同盾科技共建互联网实验室