暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
metadata lock怎么出现的?
668
6页
4次
2020-07-02
免费下载
metadata lock怎么出现的?
metadata lock是什么?
metadata lockMDL,是⽤于保护MySQL内部对象的元数据,MySQL通过MDL保护DDL
DML的并发。
MDLMySQL5.5版本引⼊,在此之前MySQL对于元数据的保护仅仅是语句级别的,引⼊
MDL后,MySQL对于元数据的保护上升为事务级别的。
如何避免产⽣很多的 metadata lock
1.建议在执⾏SQL的时候保证sessionautocommit=ON的,⾃动提交可以加快SQL的提交速
度,及时的释放MDL
2.建议选择业务低峰进⾏数据表结构的更新,这样可以避免MDL的发⽣。
涉及的表:
performanceschema.eventsstatements_current
查这个表可看到每⼀个session正在执⾏的sql,哪怕执⾏完成了,只要没有提交,都会出现。
informationschema.processlistperformanceschema.eventsstatementscurrent如何对应起
来,可以查看performance_schema.threads表来关联:
select d.trx_started ,a.thread_id,b.processlist_id,a.SQL_text from
performance_schema.events_statements_current a join
performance_schema.threads b on a.thread_id=b.thread_id join
information_schema.processlist c on b.processlist_id=c.id join
information_schema.innodb_trx d on c.id=d.trx_mysql_thread_id order by
d.trx_started;
我理解的是,这个语句可以得到 执⾏但未提交的的SQL
过程重现:
MySQL Server version: 5.7.28
创建测试⽤的数据表:
开始测试:
chk1:
of 6
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜