本教程中所使用的数据库的建表语句都在“MySQL高阶教程索引”这篇文章中,点击链接直达:索引&建表语句
摘要:本文主要介绍查询截取分析模块的优化查询
order by关键字优化
首先建立一张表,只有两个字段,age和birth,没有主键,但有一个联合索引index(age,birth)
可以看到这样不会产生filesort,即两个都用到了age左前缀索引。
但这样:
order by 之后只跟了一个 birth,第二个索引就失效了。
order by 后面的索引顺序倒过来,也会gg:
还有这种:
做一个小实验:
可以看到两个键必须顺序一致才不会导致filesort。
单路排序:
结论:
单路的问题:
3.
既然单路排序会出现上边说的问题,那么就有必要调整sort_buffer的大小,减少IO次数。
order by 优化总结: