首页 > 代码库 > MySql开启慢查询
MySql开启慢查询
分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。
查看/设置“慢查询”的时间定义
1 mysql> show variables like "long%";2 +-----------------+----------+3 | Variable_name | Value |4 +-----------------+----------+5 | long_query_time | 0.000100 |6 +-----------------+----------+7 1 row in set (0.00 sec)
如上述语句输出,“慢查询”的时间定义为2秒(方便测试,一般设置为1-10秒)。使用下面语句定义“慢查询”时间, MSYQL将记录下所有执行时间超过2妙的SQL语句
1 mysql> set long_query_time=2;2 Query OK, 0 rows affected (0.00 sec)
开启“慢查询”记录功能
mysql> show variables like "slow%";+---------------------+------------------------------------+| Variable_name | Value |+---------------------+------------------------------------+| slow_launch_time | 2 || slow_query_log | OFF || slow_query_log_file | /opt/mysql/data/localhost-slow.log |+---------------------+------------------------------------+3 rows in set (0.00 sec)
上述语句查看“慢查询”的配置信息,你可以自定义日志文件的存放,但必须将 slow_query_log 全局变量设置为“ON”状态,执行以下语句:
mysql> set global slow_query_log=ON;Query OK, 0 rows affected (0.01 sec)
结果:
mysql> show variables like "slow%";+---------------------+------------------------------------+| Variable_name | Value |+---------------------+------------------------------------+| slow_launch_time | 2 || slow_query_log | ON || slow_query_log_file | /opt/mysql/data/localhost-slow.log |+---------------------+------------------------------------+3 rows in set (0.00 sec)
MySql开启慢查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。