4
在HashBytes函数中选择正确的算法
我们需要创建nvarchar数据的哈希值以进行比较。T-SQL中有多种可用的哈希算法,但是在这种情况下,哪一种是最好的选择? 我们要确保两个不同的nvarchar值具有重复哈希值的风险最小。根据我对互联网的研究,MD5似乎是最好的。那正确吗?MSDN向我们(下面的链接)介绍了可用的算法,但是没有说明在哪种条件下使用哪种算法? 哈希(Transact-SQL) 我们需要在两个nvarchar(max)列上联接两个表。可以想象,查询需要一段时间才能执行。我们认为最好保留每个nvarchar(max)数据的哈希值,然后对哈希值进行联接,而不是blob的nvarchar(max)值。问题是哪种哈希算法提供了唯一性,因此我们不会遇到为多个nvarchar(max)拥有一个哈希值的风险。