执行下面语句, 发现没有走索引:
EXPLAIN select * from beauty_copy1 ORDER BY name desc
但,加上 LIMIT 的语句走了索引:
EXPLAIN select * from beauty_copy1 ORDER BY name desc limit 3
猜想原因是: 对于第一种方式,MySQL认为使用索引进行查询,尽管不需要排序,但是最后仍然需要回表,这种代价比全表扫描然后排序的代价更大。
补充:
对于filesort(文件排序):有双路排序和单路排序两种算法,单路排序不需要回表,效率更快,但同时对内存要求较高(空间换时间)