mysql的InnoDB行锁的一点反思
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,刚参加工作时,遇到的mysql死锁的问题。具体情况如下:网页有个统计访问次数功能,然后这个次数num是int类型,网页每次被访问一次就增1,然后运营在跑批量任务的时候,造成数据量这个字段死锁了。然后D
千家信息网最后更新 2024年09月22日mysql的InnoDB行锁的一点反思
刚参加工作时,遇到的mysql死锁的问题。具体情况如下:
网页有个统计访问次数功能,然后这个次数num是int类型,网页每次被访问一次就增1,然后运营在跑批量任务的时候,造成数据量这个字段死锁了。然后DBA就查询造成死锁的原因,最后发现是我的代码造成的死锁,然后这个锅,我接下了。这个问题怎么解决的,我一直没有察觉到,因为他们没有要求修改代码。后来我一直在思考这个问题,具体是什么原因引起的死锁。由于无法重现当时的应用场景和各种服务配置,我也无法深究这个问题。后来只能认真的研究mysql的锁和java的并发控制。
N久没有动笔写文字了,表达还是有点问题,等我理清思路后,再详细写写这方面的文字,今天就简单的写一下mysql关于innoDb行锁要注意的两个地方,还有其他很多需要的地方,这里只简单记录一下,只能叫简单记录。
先说一下,innoDB行锁的现实方式,它是通过给索引上的索引项加锁来实现的。这就决定了行级锁使用的前提是通过索引条件检索数据,否则,innoDB将使用表级锁。第二点要说的即使在条件中使用了索引字段,但是是否使用索引来检索数据是由mysql通过判断不同执行计划的代价来决定的,如果mysql任务全表扫描效率更高,它就不会使用索引,这种情况下innoDB将使用表锁,而不是行锁。所以在分析mysql的锁问题时,有时候需要使用explain来检查SQL的执行计划。
问题
索引
死锁
数据
代码
任务
原因
地方
字段
情况
文字
条件
次数
网页
检索
不同
两个
代价
前提
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全防范技术与原理
的的软件开发者
网络安全讨论单
天津工控网络安全
秘闻怎么和数据库对比
网络安全法组成
支持asp的web服务器
mysql+数据库不更新
云服务器部署步骤php
南京智力网络技术有限公司
广州网络安全认证企业
神奇宝贝服务器怎么注册多个账号
3g手机软件开发
深圳网络安全保卫
校园wifi网络安全吗
网络安全测评国家保密法
肥西综合网络技术咨询怎么样
数据库软件技术检测
学校网络安全主题讲座
服务器 塔式 机架式
招商证券 网络安全事件
宁夏联想服务器维修哪家好
数据库主要数据文件能有多少个
软件开发需要硬盘多大
服务器带外口显示不安全连接
条形码管理软件开发
sql数据库 系统安全管理
服务器安全性能等级设置
iis部署数据库如何改
星际战甲怎么调出服务器