hash实现

【测试环境】

CREATE NODE GROUP ngrp2 WITH (dn1);

CREATE TABLE testgrp2 (id int primary key, note text) DISTRIBUTE BY HASH(id) TO GROUP ngrp2;

insert into testgrp2 values(3, 'text');

【调用栈】

1)计算hash

hash实现

 hash_uint32(3);

返回值=4266872727

 2)取余

modulo = compute_modulo(abs(hashValue), list_length(rel_loc_info->nodeList));

3)从node列表里根据modulo取节点

所以核心逻辑就是  节点数组[hash_uint32(列值) % 节点数]

上一篇:一些数学运算


下一篇:CodeForces - 1168A Increasing by Modulo(二分、贪心)