MySQL之order by 优化(1)
来源:互联网 发布:知乎每周精选232期 编辑:程序博客网 时间:2024/05/17 16:57
在多数情况下,可以通过索引来简化order by的操作,而不需要额外的using filesort来重新进行排序,但是order by中出现的排序的列需要满足最左前缀索引,
注意(个人实操结果):当所选取的列,即select中出现的列不出现在order by中索引的时候,则不会对ordr by 进行优化,即所选取的列与order by待排序的列是一致的,不然仍然会使用using filesort;
例如以下的一些sql语句均可order by的查询:
1.select * from table order by key_part1,key_part_2...
2..select * from table where key_part1=constant order by key_part2;
3.select * from table order by key_part1 desc ,key_part_2 desc;
4.select * from table order by where key_part1=CONST key_part1 desc ,key_part_2 desc;
5.select * from table order by where key_part1>CONST key_part1 desc;
6.select * from table order by where key_part1<CONST key_part1 desc;
7.select * from table order by where key_part1=CONST1 and key_part2>const2 order by key_part2 desc;
当然还有以下语句不能使用索引来简化order by 的消耗
1.order by 中使用了不同的索引,例如select * from table order by key1,key2;
2.order by 中不是使用最左前缀索引;例如select *fro mtable where key2=const order by key_part2;
3.order by中使用了混合的排序关键之,asc和desc;
4.where中的用到的索引与order by中的索引不同,例如;select *from t where key2=const order by key1;
5.oder by中使用了一些对相应的索引使用了一些数学计算表达式:例如:select *from table order by abs(key1)或select *from table order by -key1;
6.查询语句当中有不同的order by和group语句
7.order by中出现的列所对应的索引只是索引列的一个前缀;
8.对应的行是不是有序的,例如memory表中的hash索引;
9.小心别名的应用,例如select abs(a) as a select from table order by a是不能够应用到索引来进行排序的;
- MySQL之order by 优化(1)
- mysql优化经验之where order by
- MySQL优化三之order by
- MySQL查询优化之ORDER BY
- 【MySQL】性能优化之 order by (一)
- mysql order by优化
- order by优化-mysql
- mysql order by优化
- MySQL高级 之 order by、group by 优化
- MySQL 如何优化 ORDER BY
- MySQL Order By索引优化
- MySQL Order By索引优化
- MySQL Order By索引优化
- MySQL Order By索引优化
- MySQL Order By索引优化
- mysql 中 order by 优化
- mysql order by 查询优化
- MySQL如何优化ORDER BY
- QQ邮箱查看好友/发件人IP地址
- tjut 3499
- jsp调用服务器上的其他程序(C程序)
- linux使用--9.grub各种引导的恢复
- 侧滑菜单
- MySQL之order by 优化(1)
- 银行卡三元素实名认证
- 事务!!事务!!
- radiogroup+radiobutton与viewpager购成页面
- linux使用--10.用gimp画图
- 那些年撸代码遇到的让人心酸bug-------ajax异步请求数据不成功
- Jquery click函数传参问题
- ARC 下引用计数的打印
- mysql 字段类型与索引的关系