查询
查看慢查询的指定时间
show variables like "%long%";
show status like "connections";
查询当前mysql数据库是否开启了慢查询日志功能:
show VARIABLES like '%slow%';
配置
5.5版本配置
1. 配置慢查询日志存放路径
在磁盘随意位置创建文件夹MysqlLog,并在文件夹内创建
2.更改Mysql/slow.log读写方式
文件夹右键---属性----安全----编辑----添加---高级----立即查找----Everyone--编辑--完全控制---确定
3. 在my.ini文件中配置
log_slow_queries=ON # 开启慢查询
long_query_time=2 # 设置规定的超时时间
slow_query_log=ON # 开启慢查询日志
log_queries_not_using_indexes=ON #如果没有用到索引查询,则记录到日志
slow_query_log_file="D:/MysqlLog/slow.log" # 日志文件所在的磁盘路径
5.7版本配置
slow_query_log的值是ON,代表当前数据库已经开启了慢查询功能。
slow_query_log_file表示慢日志的路径。
或使用show variables like ‘slow_query_log_file’;命令也可以查看慢查询日志的路径
还可以查看超过多少秒算是慢查询:
show VARIABLES like ‘long_query_time’;
设置慢查询时间
set global long_query_time=4;
设置之后再次查询使用
show global variables like 'long_query_time';
查询有多少条慢查询
show global status like '%Slow_queries%';
查看慢查询日志的存储方式
show variables like ‘%log_output%’;
设置
set global log_output=‘TABLE’;
该系统变量指定未使用索引的查询也被记录到慢查询日志中(可选项)。
如果调优的话,建议开启这个选项。
另外,开启了这个参数,其实使用full index scan的SQL也会被记录到慢查询日志。
mysql> show variables like ‘log_queries_not_using_indexes’;
±------------------------------±------+
| Variable_name | Value |
±------------------------------±------+
| log_queries_not_using_indexes | OFF |
±------------------------------±------+
1 row in set (0.00 sec)
设置
mysql> set global log_queries_not_using_indexes=1;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like ‘log_queries_not_using_indexes’;
±------------------------------±------+
| Variable_name | Value |
±------------------------------±------+
| log_queries_not_using_indexes | ON |
±------------------------------±------+
1 row in set (0.00 sec)