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