mysql可以使用同一个索引既满足排序,又用于查询行。如果可能,设计索引时,应该尽可能的同时满足这两种任务是最好的。
一、什么时候可以用索引扫描进行排序
只要当索引列的顺序和order by字句的顺序完全一致 ,并且所有列的排序方向(倒叙或正序)都一样时。才能用索引扫描进行排序。 如果查询需要关联多张表,则只有当order by字句应用的字段全部为第一张表时,才能使用索引排序。而且order by 也需要满足前缀索引的要求。
有一种情况可以不满足索引的最左前缀的要求,就是前导列为常量的时候。如果where字句或者join字句中对这些列指定了常量。


不能使用索引排序的查询

