在PG中,我有一个表,它使用partition by hash (*text*, *bigint*)
,看起来是previous answer,可以看到用于散列的函数,但是我不确定哪个函数是用来构建组合散列的?
它是否将分区键视为一条记录并使用hash_record
?
最终,我想知道这一点,以便在Java中重新构建哈希函数,以优化对特定分区的读取和写入.
在PG中,我有一个表,它使用partition by hash (*text*, *bigint*)
,看起来是previous answer,可以看到用于散列的函数,但是我不确定哪个函数是用来构建组合散列的?
它是否将分区键视为一条记录并使用hash_record
?
最终,我想知道这一点,以便在Java中重新构建哈希函数,以优化对特定分区的读取和写入.
hash_combine64用于计算最终的哈希值.根据代码中的注释,它基于Boost的hash_combine方法.此外,您可以在compute_partition_hash_value函数中找到完整的分区计算算法.