码迷,mamicode.com
首页 > 数据库 > 详细

mysql order by 出现Using filesort的解决办法

时间:2015-03-16 19:07:27      阅读:539      评论:0      收藏:0      [点我收藏+]

标签:

http://blog.csdn.net/yangyu112654374/article/details/4251624

比如一条sql语句

select * from TABLE1 where A1=1 and A2=2 and A3=3 order by A4 ASC; 

优化后是这样: select A4,A1,A2 ... FROM TABLE1 where A1=1 and A2=2 and A3=3 order by A4 ASC; 并且给 A4,A1,A2,A3加索引,使用order by A4时,联合索引要将A4放在首位。

SELECT的时候必须出现order by的字段才行

2. 从上面可以看到联合索引,也可以叫多列索引,形如 key (‘A1‘,‘A2‘,‘A3‘ ,‘A4‘)等的,排序的思路一般是,先按照A1来排序,A1相同,然后按照A2排序,以此类推,这样对于(A1),(A1,A2),(A1,A2,A3)的索引都是有效的,但是对于(A2,A3)这样的索引就无效了。

 

mysql order by 出现Using filesort的解决办法

标签:

原文地址:http://www.cnblogs.com/xuxiang/p/4342399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!