Chinaunix

标题: mysql order by 算法 [打印本页]

作者: pkman110    时间: 2010-02-23 16:54
标题: mysql order by 算法
ORDER BY算法:有2种,
a). 将排序字段和数据行定位信息读取到排序区(sort_buffer_size设定)中进行排序,完成排序后根据行定位信息从读取查询所需的列。缺点是有2次读取数据的操作
b). 将所需的列都读取到排序区进行排序,排序完后直接将结果返回。缺点是如果所需的列空间占用多,将消耗排序区空间影响排序性能
可以通过max_length_for_sort_data控制排序算法
另外一种对order by的处理是排序字段位于有序的索引中(例如不是hash索引等),索引本身是有序的因此不需要额外的排序操作


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/111930/showart_2185288.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2