项目中有些接口查询较慢,MySQL 慢查询日志记录下待排查问题 SQL 语句
默认没有开启慢查询日志记录,通过命令临时开启:
mysql> set global slow_query_log='ON';
Query OK, 0 rows affected (0.00 sec)
mysql> set global slow_query_log_file='/home/log/mysql/liastslow.log';
Query OK, 0 rows affected (0.00 sec)
mysql> set global long_query_time=2;
Query OK, 0 rows affected (0.00 sec)
slow_query_log 慢查询开启状态
slow_query_log_file 慢查询日志存放的位置
long_query_time 查询超过多少秒才记录
然后查看慢查询日志内容:
使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。
表的读取顺序,数据读取操作的操作类型
哪些索引可以使用,哪些索引被实际使用,表之间的引用,每张表有多少行被优化器查询