mysql--慢查询

上篇博客已经列举了我们经常要用到的查询mysql状态的命令,当我们查看数据库状态一切正常时,此时某些查询还是很慢,我们就需要去找到这些慢查询,下面先了解什么是慢查询。


慢查询:

          分析mysql语句性能的方法,可以让mysql记录下查询超过指定时间的语句,我们将超过指定时间的sql语句查询称为“慢查询”。指定时间指运行时间超过long_query_time值得SQL,long_query_time的默认值是10,意思是运行10s以上的语句。默认情况下mysql数据库不启动慢查询日志,需要我们手动来开启。如果不是调优需要的话,一般不建议启动慢查询日志,其或多或少会带了一定的性能影响。


慢查询相关参数:

1)slow_query_log  :是否开启慢查询日志,1表示开启,0表示关闭。

2)long_query_time : 慢查询阈值,当查询事件超过设定的时间,记录日志。


开启慢查询:

一、windows下实现:

      1)打开命令窗口,进入mysql的server安装路径

         

      2)设置慢查询时间为1s

          set long_query_time = 1;

      3)获取慢查询条数

          show status like 'slow_queries';

      4)设置将慢查询sql记录日志中

           先关闭mysql,再以安全模式启动(这个模式mysql不建议使用,我们测试先用这个模式启动)

           bin\mysqld.exe - -safe-mode  - -slow-query-log

      5)mysql默认会将日志文件记录在my.ini文件中记录的位置,如果找不到,用下面的命令

           show global variables like "%datadir%";

           

     6)查看日志记录

           

           

[html]  view plain  copy
  1. # Time: 170617 17:54:49  
  2. # User@Host: root[root] @ localhost [::1]  Id:     1  
  3. # Query_time: 1.560115  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0  
  4. use temp;  
  5. SET timestamp=1497693289;  
  6. select sleep(1.56);  

猜你喜欢

转载自blog.csdn.net/lipr86/article/details/80814509