MySQL关于table_lock_wait和table_lock_immediate
更新时间:2023-05-25 02:38:01 阅读量: 实用文档 文档下载
- mysql关于时间的函数推荐度:
- 相关推荐
MySQL关于table_lock_wait和table_lock_immediate
前记
前几天收到一位同行的一个文档,是MySQL High Performance 2的读书笔记, 97页,6w多字。在描述完知识点后,有疑问的地方列出问题,希望和我讨论。看完以后非常敬佩,自感自己无法做到这么细心。为表敬意,承诺会一一回答里面的问题。对于无法简单回复的问题,就想通过博客的方式写出来,便于讨论。
因此这个系列,就是回复这位同学的文档中的问题的。
问题
服务器变量table_locks_immediate和 table_locks_waited#?它们保持多大的比例是合适的?
背景
table_locks_immediate表示可以立即获取锁的查询次数, table_locks_waited表示不能立即获取锁的次数;
Session 1
Session 2
lock tables t1 read;
(table_locks_immediate+1)
update t1 set y=1 where id=1;
(locked并且table_locks_waited+1)
上面这个例子很简单,session 1加了表所,但是session 2要更新,获取表锁失败。
异象
Session 1
Session 2
lock tables t1 write;
(table_locks_immediate+1)
update t1 set y=1 where id=1;
(locked但table_locks_waited不变)
这个例子看上去像个bug,session 1锁表,session 2试图更新这个表,被锁住了,但是table_locks_waited没有加1,而且查看table_locks_immediate也不变。
其原因是5.5新引入的metadata lock(MDL),对表的访问都需要获取MDL。在这个例子中,session 1拥有一个排他MDL,因此Session2是被锁在获取MDL的阶段。
由于MDL是论文代写在获取表锁之前,因此在session 2被lock的时,上述两个变量都不变。
什么情况下会触发table_locks_waited
从上面这个例子看,引入MDL以后,table_locks_waited并不容易触发。除非应用主动作lock tables t read。
我们用并发压力,两个线程分别执行update t1 set y=y+1 where id=1;各5000次。 若t1为MyISAM表,MyISAM是表锁,在并发压力下,是会导致table_locks_waited急剧增加。
而在InnoDB表,由于是行锁,因此获取表锁这个逻辑都能顺利通过,因此table_locks_waited不变。
table_locks_waited多少合适
回到初始的问题,若库中都是InnoDB的表,在5.5以后,table_locks_waited这个值应该很小。在mysqldump导出表时,会执行lock table,可能导致此值增加。其他情况下,若这个值有变,说明应用端主动作了lock table,这个在InnoDB表上是不需要的,需要应用修改。
正在阅读:
MySQL关于table_lock_wait和table_lock_immediate05-25
建设学习型老干部工作队伍的思考04-07
部编人教版八年级历史上册第四五单元练习题04-25
古诗诵读:蜂教学设计05-21
精神科药物中毒09-03
第20讲 正交变换与内积03-29
小学安全检查月报表(内容齐全)10-31
- 1Differences between Chinese and Western Table Manners
- 2Lock out Relay 闭锁继电器 跳闸继电器
- 3drools Decision Table(决策表)
- 4Differences between Chinese and Western Table Manners
- 5普通table表格样式及代码大全
- 6The Differences of Table Manners Between Chinese and Westerns论文 定稿
- 7Using GRADEpro to create a Summary of Findings table for a Cochrane systematic review
- 8乒乓球Table Tennis竞赛规则中英文介绍
- 92012 Deep Research Report on China Distributed Energy Resources Industry(Table of Contents)
- 10java-wait和notify的用法
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- table
- lock
- immediate
- 关于
- MySQL
- wait
- 情商高就是懂得好好说话
- 第18讲 能被2、5整除的数的特征(教师版)
- 发掘运用好西畴精神
- 砂砾垫层工程施工技术方案
- 五一三星天河城路演活动总结
- 6花瓣飘香第1课时
- 医学信息学05(医院信息系统)-1
- 长沙创芯集成电路有限公司2012年校园招聘简介-中南大学
- 高中生物第2章_基因和染色体的关系_测试题必修2
- 2011年美国大学生数学建模竞赛题目
- 高中政治生活问题式复习纲要
- 泌阳县惠民农机专业合作社章程
- 中国中共文献研究会毛泽东思想生平研究分会
- 2011年县委办公室秘书科工作总结
- 员工敬业度调查-太和
- 利用Skyline软件建立三维地理信息系统的流程
- 中药穴位敷贴疗法临床研究进展
- 《助理人力资源管理师》期末考试
- 英语语法句子结构知识
- 入党积极分子心得