mysql 演示数据库:http://downloads.mysql.com/docs/sakila-db.zip

mysql 中排序方式


有序索引顺序扫描直接返回有序数据

explain select customer_id from customer order by store_id\G;

这种方式在使用explain分析查询的时候显示为Using Index,不需要额外的排序,效率较高。

Filesort排序

所有不是通过索引直接返回排序结果的排序都叫Filesort排序

explain select * from customer order by store_id\G;

这种方式在使用explain分析查询的时候显示为Using filesort,

优化目标

尽量减少额外的排序,通过索引直接返回有序数据

1--where条件与order by 使用相同的索引
2--order by 的顺序和索引顺序相同
3--order by的字段都是升序或者都是降序

使用到索引的情况

select * from tablenamae order by key_part1,key_part_part2,.....;
select * from tablename where key_part1=1 order by key_part1 desc ,key_part2 desc;
select * from tablename order by key_part1 desc ,key_part2 desc;

不使用索引的情况

select * from tablename order by key_part1 desc ,key_part2 asc;
select * from tablename where key2=contant order by key1;
select * from tablename order key1,key2;

最新文章

  1. ajax局部刷新
  2. python爬取返利网中值得买中的数据
  3. Office 365 系列五 -------- Imap邮箱迁移步骤
  4. POJ 2367 (裸拓扑排序)
  5. [ javascript html Dom image 对象事件加载方式 ] 对象事件加载方式
  6. DedeCMSV57数据库结构文档
  7. text透明无边框
  8. 418. Sentence Screen Fitting
  9. Codeforces 380 简要题解
  10. Java中的多线程总结(转)
  11. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计
  12. Java模拟post提交表单数据
  13. PHP函数register_shutdown_function的用法
  14. GDI+_绘制QQ头像
  15. 1:Python开发:初识Python
  16. Python3练习题 021:递归方法求阶乘
  17. HTML5 WebSocket 协议
  18. Git 子模块 - submodule(转)
  19. 【POJ1456】Supermarket(贪心)
  20. asp.net中SQL语句太长,怎么换行写?

热门文章

  1. 知识点练习day9
  2. SAP Fiori应用的三种部署方式
  3. 登陆模块的进化史,带大家回顾java学习历程(一)
  4. Babel 转码器 § es6转换es5
  5. JavaScrip:Function函数编程
  6. Coursera课程 Programming Languages, Part C 总结
  7. Java集合系列[3]----HashMap源码分析
  8. 一次Oracle宕机切换后产生ORA错误的处理过程
  9. centos6.x升级protobuf操作流程.
  10. c#的托管代码和非托管代码的理解