mysql 慢sql自动化优化处理

        背景:
        数据库的工作中,最常见就是慢sql优化了,但是DBA怎么才能从这种繁杂的工作中抽出身来,比前就是自己去数据库里查,或者其他的途径发现一个慢sql,然后就丢给开发,DBA就像一个后妈一样在跟在屁股后面去催开发优化,这个方式不但工作效率低下,也影响消耗DBA的时间,DBA应该从这些日常繁杂的事情中抽身出来去对接业务,研究新技术,架构等,更多时间去做一些更加有价值的事情
        解决方案:
        目前公司的主要业务都在放在阿里云的RDS上,阿里云提供接口去访问慢sql日志
        一,原数据准备
        1,写一个小程序定时去抽取所有实例的慢sql存放在表中
        2,把所有的sql打上标签,方便后面的分析
        3,输出慢sql的执行计划并存储在表中
        二,数据分析和慢sql处理流程
        1,能过这些原数据,从sql执行时间,次数,扫描的行数,排序,索引的使用情况等多个维度来分析sql,并输出邮件结果
        2,把经过处理的慢sql和tapd项目管理系统打通,把每个sql自动分配到相关的开发责任人
        3,输出优化结果报表,每个项目每周的慢sql优化情况
        三总结:
        1,通过这种方式可以减少DBA的工作量
        2,通过平台来管理和跟踪慢sql的优化,会让整个工作流更加清晰和高效
        3,通过报表让整个优化工作更加清晰,调动开发积极性,让得优化工作可以量化

        四,代码和结果截图:
        1,拉取慢sql:
    ![](http://i2.51cto.com/images/blog/201812/07/ad9dde733a9d08def4ec0d64a9b00428.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

猜你喜欢

转载自blog.51cto.com/538858/2327414