环球焦点!mysql中的死锁如何优化?mysql之锁优化
文章目录
前言语句层面死锁如何安全地给小表加字段总结
前言
(资料图)
之前的文章,我们对锁的种类,和锁的一些用途,进行了简单的讲解。今天我们将接着上张的内容,对锁的优化进行介绍。
语句层面
首先,我们从语句层面介绍下怎么进行锁优化。之前的文章我们介绍过,锁实在sql执行的时候才会加锁。但是锁的释放,却是在事务提交之后,才会释放。这样就会带来一个问题。如下图 假如,这是一个电影院的一个购票业务。电影院叫b,客户为a,a想在b买一张电影票,上图则是一个完整的买票流程。然后这个时候,c也想从电影院买张票,那么c和a冲突的地方就是第二条语句。如果我们把第二条语句放在最后,那么a和c冲突的时间是不是就会缩短。因为锁是在最后事务提交的时候才会释放,那么放在最后执行冲突语句,锁持续的时间就是最短的。这样就可以减少锁的时间,减少并发冲突的时间。
死锁
说起死锁,相必大家都不会陌生,因为这个在java中也是十分的常见的。产生死锁的原因就是双方互相占有对方所需要的的互斥资源,且短时间内,不会释放。那么从这个描述上呢,我们基本可以有四种解决方法。但是在mysql中呢,大致有两种解决方法。因为mysql中的锁不会像java中的锁,那么便于操作。如下图 事务a和事务b相互需要对方的行锁,导致死锁的产生。这个时候大致有两种策略。 1.直接进入等待,直到超时,这个超时的参数可以自己设置。 2.死锁检测,检测到这个死锁,然后对其中一个事务进行回滚,释放出另一个事务需要的锁,以便两个语句都能进行下去。 但是开启死锁检测是十分的消耗性能的,比如一千个事务同时更新同一行数据,那么死锁基本要检测1000x1000行数据,消耗太大。 那遇到这种热点表怎么办呢,最好的办法就是控制并发,可以用一个队列(不管是在数据库中实现,还是依靠消息中间件实现,都可以),让进来的事务进行排队,同一时间至多有10个,或者20个可以对这行数据进行修改,这样就可以很好的实现并发修改了。
如何安全地给小表加字段
首先我们要解决长事务,事务不提交,就会一直占着 MDL 锁。在 MySQL 的 information_schema 库的 innodb_trx 表中,你可以查到当前执行中的事务。如果你要做 DDL 变更的表刚好有长事务在执行,要考虑先暂停 DDL,或者 kill 掉这个长事务。但考虑一下这个场景。如果你要变更的表是一个热点表,虽然数据量不大,但是上面的请求很频繁,而你不得不加个字段,你该怎么做呢?这时候 kill 可能未必管用,因为新的请求马上就来了。比较理想的机制是,在 alter table 语句里面设定等待时间,如果在这个指定的等待时间里面能够拿到 MDL 写锁最好,拿不到也不要阻塞后面的业务语句,先放弃。之后开发人员或者 DBA 再通过重试命令重复这个过程。
总结
今天我们继续上篇文章,对锁的优化进行了讲解,但是只是在语句层面进行大致的讲解。同时也介绍的死锁的出现原因,和怎么避免死锁的方法。
标签:
相关推荐:
最新新闻:
- 环球焦点!mysql中的死锁如何优化?mysql之锁优化
- 全球看点:教你如何一键刷机?蘑菇云刷机视频详细教程
- 免费个人网站怎么建立?个人网站建立流程
- 【环球新要闻】雅本化学04月12日获深股通增持5.79万股
- 解析力碾压iPhone 14 Pro Max!小米13 Ultra手机镜头绝了:世界热点
- 环球热推荐:入门游戏鼠标 G102不到百元
- 苹果智能戒指要来了?大量技术专利曝光,动动手就能实现隔空交互 环球滚动
- 家庭布线 磊科5口千兆交换机29元|环球资讯
- 环球今头条!郭明琪:iPhone15 Pro和PM将继续实体按键
- 蔚来再砍新车免费权益,取消免费家充桩,并调整免费换电次数|快讯
- 《红霞岛》主机首发仅有质量模式:XSX支持4K30FPS
- 《CS:GO》主播直播时天花板塌了 直播效果拉满 世界资讯
- 携热管理新品亮相2023上海车展 美的威灵汽车部件“强链”中国新能源汽车
- 数论知识点总结_关于数论的一些基础知识
- 《王者荣耀》新英雄姬小满技能演示:主打一个背口诀 天天实时
- 杨幂新剧《哈尔滨1944》开机路透照 大波浪配皮风衣_天天快讯
- RTX 4070零售价4799元起 Remix Runtime开源《反恐精英2》支持NVIDIA Reflex 环球简讯
- 颜值爆表性能超3080!AX电竞叛客RTX4070 X3W OC首发
- 全球快资讯:集齐五虎上将召唤冰龙!映众RTX4070全系首发
- 极客武装!七彩虹iGame GeForce RTX 4070系列显卡齐亮相
- 焦点快报!点燃新战场 铭瑄GeForce RTX 4070同步发布
- RTX 4070显卡正式发布:4799元起 众多非公版本周发布 世界快消息
- 女子疯狂网上购物确诊帕金森:过度伤害性冲动行为
- 《三位一体5》公布首支预告!预计将于今年夏季发售
- 世界热门:华为畅享60X外观公布:神似Mate 50!
- 小米13 Ultra官宣18日发布 12s Ultra现4999清仓 看热讯
- 当前热讯:AMD:显卡的显存容量和性能同样重要
- 《生化》三女主都未变老引热议 网友:全感染了病毒
- 世界热资讯!荣归故里!杨紫琼回马来西亚带奥斯卡小金人扫墓
- 小米13 Ultra将首发徕卡Summicron镜头
- 产业群策群力推动PC低碳转型 中国电子学会绿色计算机标准工作组宣布成立
- 小米13 Ultra曝标配两颗长焦镜头-报资讯
- 焦点信息:南京公交司机敬老,受助老人敬礼
- 大熊猫丫丫回国细节披露 由美国联邦快递直送上海
- B社《DOOM》手游《Mighty DOOM》IGN 5分:氪金游戏 别玩!
- 全国联保!新飞双开门冰箱仅需308元
- 安卓新功能可实现APP自动存档,再也不用担心手机空间不够
- 小米13 Ultra再预热:号称镜头解析力优于苹果iPhone 14 Pro Max
- 一文读懂ROG游戏手机7系列首发福利 轻松拿下超值大礼
- 卷起来了!已有人2小时内速通《生化危机4:重制版》最高难度
- 世界热门:比《暗黑破坏神4》还多!暴雪新作《奥德赛》招聘职位高达59个
- 破坏游戏体验!《守望先锋2》新英雄可用来坑队友_热推荐
- 今日热文:羡煞众人!男子年会抽中365天带薪休假奖:可折现
- 宝可梦卡牌高价引发多起盗案 盗匪与时俱进好偷还贵_每日动态
- 试用期员工因没跑完5公里被辞 公司:没有吃苦耐劳精神
- 古越龙山(600059.SH)发布2022年度业绩,净利润2.02亿元,同比增长0.7%,拟10派0.8元 全球讯息
- 电脑电源,不止插拔那么简单
- 汇聚生态之力,英特尔以网络与边缘技术连结可持续数字化未来:焦点信息
- 当前要闻:你电脑里的这个板子,其实是一座“矿山”
- 英特尔携生态伙伴推进技术创新深化,助数据中心可持续发展
- Xbox手柄定制服务推出精英手柄二代定制 更多颜色可选-环球速读
- 发售一年后 《幽灵线:东京》确认添加D加密:看点
- 生化危机4重制版佣兵模式怎么解锁?生化危机4佣兵模式在哪开?
- 东方甄选奖励154员工8.83亿港元 董宇辉或被奖励超千万
- 最新:小米13 Ultra样张首曝光:比单反都厉害了?
- 6099元!华硕天选 X 2023台式机今晚开卖:13代i5+RTX 3060
- 一个帮助孩子独立的“小妙招”,全家都爱了
- 人工智能助力全球经济回暖 科大讯飞亮相消博会
- 宣化区赵川镇:学习村规民约,助力乡风文明
- 青春回忆!《灌篮高手》成平台首部想看破百万的进口动画:环球热推荐
- 《暗黑破坏神4》将每季度推出新故事内容 内容丰富值得期待
- 立达信:2022年归母净利同比增64.04%至4.94亿元 每日聚焦
- 每日速看!中国电信第四代云手机:天翼一号2023款通过国内认证,68W快充
- 首款骁龙 8+ Gen 1平板电脑,中兴Axon Pad硬件规格曝光
- 当前消息!3200高频内存218元:真的值
- MacBook Air直降2100元! 焦点短讯
- 苹果印度Apple Store下周见_每日头条
- 天天动态:联想ThinkPad怎么安装windows7系统?uefi启动u盘详细制作方法
- QQ登录超时怎么解决?解决QQ登录超时问题的办法
- 软排线与电路板怎么连接?软排线与电路板链接方法
- 环球资讯:java基础知识:如何绘图以及Graphics类的含义
- 直播系统聊天技术(八):IM消息模块架构演进之路-每日热点
- 精选!《GTA》系列创始人在洛杉矶买豪宅:什么游戏照进现实
- 外媒吐槽《死亡岛2》配置要求太高:3090才能4k 60-微头条
- 《重生边缘》参与东方游戏文化周 Steam开放demo试玩-环球消息