zoukankan      html  css  js  c++  java
  • mysql 慢查询的小结

    MySQL优化的第一步应该做的就是排查问题,找出瓶颈,而通常情况下的瓶颈和问题都需要通过观察MySQL的运行情况来进行分析,而对于大多数的程序员来说,最容易发现并解决的问题就是MySQL的慢查询或者没有利用索引的查询,所以这里主要给大家介绍如何利用官方的mysqldumpslow工具方便的查看这些信息。

    打开MySQL的慢查询:

    slow_query_log=1
    slow_query_log_file = /var/log/mysql/mysql-slow.log
    long_query_time = 2
    log-queries-not-using-indexes
    slow_query_log  表示开启慢速查询日志
    slow_query_log_file  日志路径
    long_query_time 命令耗时大于2秒的记录.
    然后放个1,2天...里面应该会有慢速查询的日志了..

    mysqldumpslow命令
    /path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
    这会输出记录次数最多的10条SQL语句,其中:

    • -s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
    • -t, 是top n的意思,即为返回前面多少条的数据;
    • -g, 后边可以写一个正则匹配模式,大小写不敏感的;

    比如
    /path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
    得到返回记录集最多的10个查询。
    /path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log
    得到按照时间排序的前10条里面含有左连接的查询语句。

    小结
    使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是非常重要的一步。

  • 相关阅读:
    Kibana: missing authentication credentials for REST request
    MySQL命令速记
    VIM常用命令简记
    Linux常用命令简记
    袁永福的C#编程书籍,电子工业出版社出版。
    发布DCWriter电子病历文本编辑器
    袁永福的博客系列文章链接集合
    ssh隧道 的命令行和 sshd 服务的配置(gatePort)
    PureMVC(AS3)剖析:设计模式(二)
    Python应用与实践
  • 原文地址:https://www.cnblogs.com/lx823706/p/6215380.html
Copyright © 2011-2022 走看看