作家
登录

干货 | 一个MySQL 5.7分区表性能下降的案例分析

作者: 来源: 2017-09-12 08:48:17 阅读 我要评论

BEGIN;UPDATE t2 SET DATA = '12' WHERE id = 1; 
  •  
  • // SESSION 2 如今对id = 4 的记录做一个更新。  
  •  
  • BEGIN;UPDATE t2 SET DATA = '44' WHERE id = 4;  
  • 我们发明,对id = 4的更新可以正常进行。不会受到id = 1 的更新影响。这是因为id=4的记录,跨越了测试案例的分区个数,不会被锁住。在实际应用中,分区表所定义分区数不会如测试用例中的只有3个,而是数十个甚至数百个。如许进行上锁的结不雅,将加剧更新情况下的锁冲突,导致事务处于锁等待状况。如下图所示,每个事务都上N个行锁,那么这些上锁记录互相覆盖的可能性就极大年夜的进步,也就导致并发降低,效力降低。

    结论

    经由过程上述分析,我们异常确认,这个应当是MySQL 5.7版本的一个regression。我们提交了一个Bug到开源社区。Oracle确认是一个问题,需进一步分析查询拜访这个Bug。

    【编辑推荐】

    1. MySQL中浮点型转字符型问题
    2. MySQL数据库无法被其他ip拜访的问题
    3. 针对MySQL大年夜范围数据库的机能和伸缩性的优化
    4. MySQL开辟实践8问,你能hold住几个?
    5. MySQL数据表存储引擎类型及特点
    【义务编辑:庞桂玉 TEL:(010)68476606】

      推荐阅读

      腾讯马化腾、商汤科技汤晓鸥等六位大佬深度解读人工智能的过去、现在和未来

    51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦! 科技,尤其是如今炙手可热的人工智能,会给生活、贸易、学术等带来多大年夜的影响?在近日由清华经管学院>>>详细阅读


    本文标题:干货 | 一个MySQL 5.7分区表性能下降的案例分析

    地址:http://www.17bianji.com/lsqh/37317.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)