order by 是怎么实现的
索引排序
- 索引天然就是有序的,可以直接根据索引进行排序
效率最高的索引排序
+ 根据联合索引进行排序
+ 排序中如limit
- 索引中常量条件查询中带着where
文件排序
- 文件排序受sort_buffer_size的影响,如果超过该参数的话就使用文件排序,不然就会在索引中进行排序
- 还受max_length_for_sort_data的影响。当需要排序的字段太长的时候,就会使用rowid进行排序。不然就会使用全字段进行排序。
- 全字段进行排序的话只需要进行一次回表查询。根据rowid进行查询的话就需要回表两次进行查询