性能优化之MySQL优化(一)- 慢查询

时间:2022-09-23 20:11:04

一、慢查询

性能优化之MySQL优化(一)- 慢查询

1、查询是否开启慢查询日志
show variables like ‘slow_query_log’;
+—————-+——-+
| Variable_name | Value |
+—————-+——-+
| slow_query_log | OFF |
+—————-+——-+
Value值为OFF说明没有开启慢查询日志


2、开启慢查询日志
查看所有日志文件
show variables like ‘%log%’;

其中有一项是记录是否开启记录未使用索引的查询
log_queries_not_using_indexes | OFF
没有开启,开启
mysql> set global log_queries_not_using_indexes=on;
Query OK, 0 rows affected (0.00 sec)

查看超过多长时间的查询记录在慢查询日志中
mysql> show variables like ‘long_query_time’;
+—————–+———–+
| Variable_name | Value |
+—————–+———–+
| long_query_time | 0.000000 |
+—————–+———–+
1 row in set (0.00 sec)

设置时间为1s
mysql> set global long_query_time=1;
Query OK, 0 rows affected (0.00 sec)

查看设置的值的时候你会发现显示的是10s,这是mysql的问题,其实已经修改成功了,
重新打开一个mysql窗口输入show variables like ‘%long%’;查看已经修改成功
mysql> show variables like ‘%long%’;
+—————————————————+———–+
| Variable_name | Value |
+—————————————————+———–+
| long_query_time | 10.000000 |
| max_long_data_size | 1048576 |
| performance_schema_events_waits_history_long_size | 10000 |
+—————————————————+———–+

新窗口
mysql> show variables like ‘%long%’;
+—————————————————+———-+
| Variable_name | Value |
+—————————————————+———-+
| long_query_time | 1.000000 |
| max_long_data_size | 1048576 |
| performance_schema_events_waits_history_long_size | 10000 |
+—————————————————+———-+
3 rows in set (0.00 sec)

开启慢查询
mysql> set global slow_query_log=on;
Query OK, 0 rows affected (0.01 sec)