order by 的列 没有索引 则 using filesort
有索引的情况:
如果order by 索引 desc ,using filesort ,因为建立索引默认是asc 当然你也可在创建索引的时候 desc
如果order by 的数据过多,会导致内部排序的的内存不够,也会using filesort,可以通过增加sort_buffer_size的值
如果where 条件中 有一个其他的字段的索引 依然using filesort
如果是联合索引 没有按照最左匹配 也会using filesort
索引选择性不高,大量重复值,也会using filesort
如果查询中没有使用到索引的所有列,MySQL可能不会使用索引排序。