MySQL查询优化(学习)

1.MySQL中,如何定位慢查询?

MySQL自带慢日志

2.一个SQL语句执行很慢, 如何分析?

可以采用EXPLAIN 或者 DESC命令获取 MySQL 如何执行 SELECT 语句的信息

3.字段分析

id
select_type
table
partitions
type 这条sql的连接的类型,性能有好到差 NULL-->system-->const-->eq_ref-->ref-->range-->index-->all
system 查询系统中的表
const 根据主键查询
eq_ref 主键索引查询或唯一索引查询
ref 索引查询
range 范围查询
index 索引树扫描
all 全盘扫描
possible_keys 当前sql可能会使用到的索引
key 当前sql实际命中的索引 通过它们两个查看是否可能命中索引
key_len 索引占用的大小
ref
rows
filtered
Extra 额外的优化建议 含义
Using where;Using Index 查找使用了索引,需要的数据都在索引中能找到,不需要回表查询数据
Using index condition 查找使用了索引,但是需要回表查询数据

上一篇:STM32H7的8个串口fifo收发(兼容232和485)