为了优化SQL语句的排序性能,最好的情况是避免排序,合理利用索引是一个不错的方法.因为索引本身也是有序的,如果在需要排序的字段上面建立了合适的索引,那么就可以跳过排序的过程,提高SQL的查询速度.下面我通过一些典型的SQL来说明哪些SQL可以利用索引减少排序,哪些SQL不能.假设t1表存在索引key1(key_part1,key_part2),key2(key2) a.可以利用索引避免排序的SQL 1 2 3 4 SELECT * FROM t1 ORDER BY key_part1,key_p
相信大家看过无数的MySQL调优经验贴了,会告诉你各种调优手段,如: 避免 select *: join字段走索引: 慎用in和not in,用exists取代in: 避免在where子句中对字段进行函数操作: 尽量避免更新聚集索引: group by如果不需要排序,手动加上 order by null: join选择小表作为驱动表: order by字段尽量走索引... 其中有些手段也许跟随者MySQL版本的升级过时了.我们真的需要背这些调优手段吗?我觉得是没有必要的,在掌握MySQL存储架构