mysql如何定位并调优慢sql查询

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

show variables like ‘%quer%’
重点关注一下三个查询结果:
show_query_log :off/on 是否展示慢日志
slow_query_log_file 慢日志存放路径
long_query_time 定义为慢查询的时间

show status like ‘%quer%’ 慢查询的条数

2.借助explain等工具分析sql。
explain select name from person order by name desc

关注点1:id
在联合查询语句中,id的数值越大,执行优先级越高。

type :mysql找到数据行的方式,性能由高到低为:

å¨è¿éæå¥å¾çæè¿°

3.修改sql语句或者尽量让sql语句走索引

查看表结构,查看当前索引,借助explain,KEY的结果表示为,当前语句借助的索引。

为当前语句添加索引,alter table person add index idx_name(name)

使用强制索引比较各个索引下的执行时间;在具体分析考虑如何使用索引
select name from person force index (primary)

发布了515 篇原创文章 · 获赞 10 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/xiamaocheng/article/details/104296733