例:select * from user
2.index 索引全扫描
例:select id from user
3.range 索引范围扫描(>、<、>=、<=、=、between等)
例:select * from user where id >= 5
4.ref 使用非唯一索引扫描,或唯一索引的前缀扫描
例:select * from user where id = 5
join中也常出现ref
5.eq_ref 使用唯一索引(多表连接用主键或unique key作关联条件)
例:select * from teacher a, student b where a.id = b.id
6.const/system 常量
例:select * from(select * from user where id = 1)
备注:临时表中最多有一个匹配行(主键不重复),mysql会当成常量
等于是select * from 常量
2.1 排序方式
数据量小则在内存排序, 数据量大则使用磁盘排序
内存排序 : 直接使用"快速排序"
磁盘排序 : 先将数据分块, 对每个独立的块使用"快速排序", 并将各个块的排序结果存在磁盘上, 然后将各个排好序的块进行合并(merge), 最后返回排序结果
2.2 排序算法
3. 注意点 :
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)