我是Oracle Hash函数的新手。我知道此功能用于加密目的。它实际上是将一个很大的段落转换为一个哈希值。
Ora_hash函数具有三个不同的参数:
对于Max_bucket和种子值,文档说我可以在0到429496725之间指定。Max_bucket默认为429496725,Seed_Value默认为0。
但是,有人知道这些值在0和429496725之间有什么区别吗?
我实际上打算使用它来比较两个不同表中的两列,每列中的每一行都具有接近3000个字符,其中一个表将具有接近一百万个记录,而另一个表将具有近十亿个记录。当然,两个表都可以与ID列连接在一起。
因此,我认为使用散列值比仅使用A = B将是更好的选择。
但是,谁能教我如何为Oracle ORA_Hash函数确定最佳的Max_bucket和Seed_value?
提前感谢!
ORA_HASH
不用于生成唯一的哈希值。您可能想改用ORA_HASH
之类的功能。
STANDARD_HASH
用于需要快速将一堆值放入一组存储桶且哈希冲突非常有用的情况。 STANDARD_HASH
对于哈希分区很有用;例如,您可能希望将表分成64个段以提高可管理性。
ORA_HASH
可用于使用MD5或SHA等算法生成几乎唯一的哈希。这些哈希算法可用于加密目的,而ORA_HASH
则不合适。例如:
STANDARD_HASH