美文网首页高性能webjava 设计
MySql如何定位慢查询

MySql如何定位慢查询

作者: 先生zeng | 来源:发表于2019-10-22 10:02 被阅读0次

    定位慢查询一般有几种方式如下

    1、业务驱动

    业务反馈,查询很慢/

    2、测试驱动

    测试进行压力测试时,发现某些查询很慢。

    3、慢查询日志

    自己查询慢查询日志。

    show variables like 'slow_query_log'
    查看slow_query_log是否有开启。

    set global slow_query_log = on
    设置开启

    set global slow_query_log_file = '/var/lib/mysql/gupaoedu-slow.log'
    设置慢查询日志

    set global log_queries_not_using_indexes = on
    没有命中索引的sql查询要不要记录到慢查询。

    set global long_query_time = 0.1 (秒)
    慢查询超过0.1秒的就记录进慢查询日志中。

    image.png

    慢查询日志分析

    Time :日志记录的时间
    User@Host:执行的用户及主机
    Query_time:查询耗费时间 Lock_time 锁表时间 Rows_sent 发送给请求方的记录
    条数 Rows_examined 语句扫描的记录条数
    SET timestamp 语句执行的时间点
    select .... 执行的具体语句

    使用mysql提供的工具

    mysqldumpslow -t 10 -s at /var/lib/mysql/gupaoedu-slow.log


    image.png

    其他工具: mysqlsla 、 pt-query-digest

    相关文章

      网友评论

        本文标题:MySql如何定位慢查询

        本文链接:https://www.haomeiwen.com/subject/ylvxvctx.html