系列文章目录
在MySQL中,如何定位慢查询?
- 系列文章目录
- 发现了某个SQL语句执行很慢,如何进行分析?
发现了某个SQL语句执行很慢,如何进行分析?
一般SQL语句执行过慢的话需要考虑是否是聚合查询和多表查询,再考虑表数据是否过大。聚合查询可以尝试新增临时表,多表查询可以尝试优化SQL结构。如果是表数据量过大,那就尝试添加索引,如果加了之后还是慢,可以使用一些分析工具获取这个SQL语句的执行计划。比如explain
。能够展现这条SQL的执行过程。在结果中需要关注几个重要的字段。比如possible_key是当前sql可能会使用到的索引,key是当前SQL实际使用的索引,type是这条SQL的连接类型,如果值是index或者all说明这条SQL需要优化。