从GROUP BY的算法来看,HASH 应该是比SORT要快,所以9I是没有HASH GROUP BY的,只有10G,现在11肯定也支持HASH GROUP BY。
为什么要从原来的SORT GROUP BY 改为HASH GROUP BY, 应该是算法更好了。应该是通常HASH GROUP BY会快于SORT GROUP BY。 否者ORACLE没必要搞个HASH GROUP BY。如果说HASH GROUP BY一定快于SORT GROUPBY,那么10G就应该强制使用HASH GROPU BY,而不是通过隐含参数来控制,而且不强制使用。
但是至于HASH GROUP BY算法是什么样子,不知道。目前我觉得没必要去考虑到底哪个快。应该差不太多。仅仅是算法更优秀而已