我要创建:
我想使用文本的哈希值优化文本值的搜索,并在其上创建索引。因此,在搜索期间,我希望使用非聚集索引(而不是聚簇索引)。
我决定将HASHBYTES与SHA2_256
一起使用,我想知道如果我将哈希值存储为BINARY(32)
或NVARCHAR(16)
,是否有任何差异/好处?< / p>
答案 0 :(得分:3)
您无法合理地将哈希值存储为字符,因为二进制数据不是文本。各种文本处理和比较功能解释这些字符。例如,有时会忽略尾随空格,从而导致错误的结果。
由于你有32个完全随机的非结构化字节来存储binary(32)
是最自然的格式,它是最快的格式。