您的位置:首页 > 数据库 > MySQL

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

2015-03-16 17:43 281 查看
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)这样的索引就无效了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐