将HASHYTES输出存储在NVARCHAR与BYTES中



我要创建:

  • 用于存储ID和唯一文本值(预期大)
  • 一个存储过程,它将有一个文本值作为输入参数(它将检查上表中是否存在该值,并返回相应的ID(如果存在),或者插入新记录(如果不存在),并且还返回新ID)

我想使用文本的哈希值优化文本值的搜索,并在上面创建索引。因此,在搜索过程中,我希望使用非聚集索引(而不是聚集索引)。

我决定将HASHBYTES与SHA2_256一起使用,我想知道如果我将哈希值存储为BINARY(32)NVARCHAR(16),会有什么区别/好处吗?

由于二进制数据不是文本,因此无法合理地将哈希值存储为字符。各种文本处理和比较函数解释这些字符。例如,尾部空白有时会被忽略,从而导致不正确的结果。

由于您有32个完全随机的非结构化字节来存储binary(32)是最自然的格式,也是最快的格式。

相关内容

  • 没有找到相关文章

最新更新