为什么在Grace Hash Join的分区和探测阶段必须使用不同的哈希函数?

时间:2019-04-04 19:09:11

标签: algorithm join hash

既然总会有一个模运算,为什么我们需要不同的哈希函数?

1 个答案:

答案 0 :(得分:0)

在Grace连接中,根据第一个哈希函数对两个输入进行分区,然后为每个分区构建一个哈希表。

如果两个操作都使用了相同的哈希函数,则每个哈希表中键的哈希值将相对较少,因为每个分区都限制为这些哈希值的一小部分。这可能导致碰撞增加,效率降低。

取决于输入和分区的大小,总是不会出现问题,但是强大的算法并不依赖于接收良好的输入。