mysql优化order by 语句

优化order by 语句:
在某些情况中,mysql 可以使用一个索引来满足order by 子句,而不需要额外的排序。where 条件和order by 使用相同的索引,并且order by 的顺序和索引顺序相同,并且order by 的字段都是升序或者都是降序。
例如:下列sql 可以使用索引。
select * from t1 order by key_part1,key_part2,… ;
select * from t1 where key_part1=1 order by key_part1 desc, key_part2 desc;
select * from t1 order by key_part1 desc, key_part2 desc;
但是以下情况不使用索引:
select * from t1 order by key_part1 desc, key_part2 asc;
 –order by 的字段混合asc 和desc
select * from t1 where key2=constant order by key1;
–用于查询行的关键字与order by 中所使用的不相同
select * from t1 order by key1, key2;
–对不同的关键字使用order by:

以上就是mysql优化order by 语句的内容,更多相关内容请关注PHP中文网(www.php.cn)!

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享