MySQL order by的实现
2024-08-24 18:08:08
1、使用索引的已有顺序
2、filesort算法
filesort算法的执行流程
filesort相关的参数
sort_buffer_size
算法排序缓冲区的大小,线程级缓存
max_length_for_sort_data
决定选择那种不同的策略进行排序(两种排序算法)
1、single-pass算法(rowid排序)
当查询语句所取出的所有字段的长度大于max_length_for_sort_data,第一次从表中取出排序字段和行指针,第二次根据排好序的行指针从表中取出其它字段的值。优点行数据进行了压缩,缺点需要两次访问表数据
2、two-pass算法(全字段排序)
当max_length_for_sort_data小于查询语句所取出的所有字段的长度,一次性从表中取出所查询的所有字段,在排序缓冲区中进行排序操作。优点只访问了一次表数据,缺点数据没有进行压缩,会耗用更多排序缓冲区的空间
最新文章
- 使用UITableView展示数据
- 【Win10 应用开发】OCR识别
- Android 学习第16课,java 包、类等相关的一些基础知识
- WINDOWS系统下四叶草CLOVER引导U盘制作
- MySQL物理文件组成
- oracle系列--第三篇 Oracle的安装
- js TAb
- Visual Leak Detector 2.2.3 Visual C++内存检测工具
- hhtml from表单为什么能提交数据
- new Date()在IE,谷歌,火狐上的一些注意项
- django初探
- mrql初级教程-使用(er)
- 圆形的ImageView
- 解决angularjs 在ie8上面 ng-repeat的select控件兼容性问题
- css -html-文档流
- fiddler使用指南
- Linux基础命令---pgrep
- JavaScript 片段
- RabbitMQ 知识点
- Android ListView的XML属性
热门文章
- 对 Service中sqlsession对象的优化
- 747. Largest Number At Least Twice of Others
- 2019.01.19 洛谷P2787 语文1(chin1)- 理理思维(ODT)
- OpenCV(2):视频
- jQuery警告/确认/提示弹出对话框效果(替换传统JavaScript下的提示框)
- 谈谈thinkphp5.1中容器(Container)和门面(Facade)的实现
- mysql only_full_group_by报错的问题(转)
- php常量 const 和 define
- C++指针二(易错模型)
- 简述NotificationCenter、KVC、KVO、Delegate?并说明它们之间的区别?