慢查询 explain
参考
MySQL Explain详解
文档:同一个SQL语句,为啥性能差异咋就这么大呢
数据库允许空值(null),往往是悲剧的开始
总结
常见的扫描类型有:(其扫描速度由快到慢)
system>const>eq_ref>ref>range>index>ALL
各类扫描类型的要点是:
system最快:不进行磁盘IO
const:PK或者unique上的等值查询
eq_ref:PK或者unique上的join查询,等值匹配,对于前表的每一行(row),后表只有一行命中
ref:非唯一索引,等值匹配,可能有多行命中
range:索引上的范围扫描,例如:between/in/>
index:索引上的全集扫描,例如:InnoDB的count
ALL最慢:全表扫描(full table scan)
简介
概要描述:
id:选择标识符
select_type:表示查询的类型。
table:输出结果集的表
partitions:匹配的分区
type:表示表的连接类型