MySQL慢查询优化

  • WordPress创意 2021年12月19日, 21:34:51
  • 分类: MySQL
  • 浏览:490

1.根据慢日志定位慢查询sql

检查慢日志是否开启
SHOW VARIABLES LIKE ‘%query%’; # 查询慢日志相关信息


slow_query_log 默认是off关闭的,使用时,需要改为on 打开      
slow_query_log_file 记录的是慢日志的记录文件
long_query_time 默认是10秒,每次执行的sql达到这个时长,就会被记录


SHOW STATUS LIKE ‘%slow_queries%’; 查看慢查询状态


如何打开慢查询 : SET GLOBAL slow_query_log = ON;
将默认时间改为2秒: SET long_query_time = 2;

2.通过explain语句分析慢查询sql

案例:explain select * from wp_posts where id = 1;
用type字段来定位性能级别,常用的类型有:
ALL、index、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)
例如all为最差,MySQL将遍历全表以找到匹配的行
const、system、null属于高性能

参考:https://www.cnblogs.com/tufujie/p/9413852.html

3.修改sql或者尽量让sql经过索引查找

4.利用数据库工具进行分析,例如heidisql里面有一个“查询分析”的选项,选中后进行查询,会出现很多参数,例如opening tables打开表, closing tables关闭表, execting执行时间,这些参数可以看到用了多少时间,然后定位指定参数进行优化

上一页:
下一页:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注