0


P165上写的在整个语句后加个ORDER BY null可以避免filesort操作。 我想知道这样做的背后MySQL是用了什么算法? 我想的话,比较快捷的方法可能就是Hash了,把要分组的列顺序扫描,算HashKey存入HashTable,如果HashKey位置在HashTable中已经有了说明可以并到一个组,通过链表链在后面。这样就是可能HashKey会有重复,需要二次探查法或其他方法来避免冲突。 其他算法实现不排序分组我还没想到,不知道MySQL是怎么实现的。Sky能讲解一下或提供一篇可靠的文章么?

垃圾帖?
提问于2009-10-20 06:44:17
1
添加评论
0


对于MySQL具体算方相关的大概内容可以从 MySQL Internal 文档上了解一个大概,但不管从什么文档上都不可能有一个详细的算法介绍,我本人也并没有进行非常详细的算法了解。所以如果是对算法感兴趣,可能还是需要读者朋友自行研究 MySQL 代码了。

以下是 MySQL 重要算法的介绍文档: http://forge.mysql.com/wiki/MySQLInternalsAlgorithms#ImportantAlgorithmsand_Structures

永久链接 | 垃圾帖?
回答于2009-12-06 13:28:44
95 1
添加评论




Made with Django.

当前版本: R-0127-20090523

cc-wiki