如题,还有就是 all 和 index 都算是全表扫描吗? index 的算走索引吗
1
ppyybb 2018-10-16 18:34:07 +08:00 via iPhone
走了,文档说的很清楚了。
all/index 都是全表扫描。 |
2
ppyybb 2018-10-16 18:34:44 +08:00 via iPhone
但是 index 走了索引的全表扫描,算不算看你自己怎么定义了
|
3
BBCCBB 2018-10-16 18:36:49 +08:00
all > index > range , 一般来说, range 比 index 还好点. 今天刚看到的
|
5
cc959798 OP @ppyybb 不太明白按 index 这种按索引扫描全表,感觉按索引的顺序和直接扫描性能应该是一样的,相当于一副打乱的扑克顺序查一下和按大小顺序查一下,感觉 index 应该更慢呀
|
6
jybox 2018-10-16 20:14:50 +08:00
「按索引扫全表」和「直接扫全表」比起来,在于按索引扫描是有顺序的,如果你的查询刚好在索引的字段上有排序( ORDER BY ),那么用了索引的话就不需要在内存中排序了。
|
7
jybox 2018-10-16 20:15:45 +08:00
不对,MySQL 好像是用磁盘排序( filesort ),那就更慢了
|
8
mineqiqi 2018-10-17 10:17:56 +08:00
走了,看下 rows 数量级
|