SQL:索引nvarchar2048-全文vs哈希

问题描述

| 我有两个表:
table1
保留列
nvarchar(2048)
(唯一值),and2ѭ保留对
table1
id的引用。 由于我无法索引
nvarchar(2048)
,所以我的问题是,我应该向ѭ0add添加全文索引,还是应该向
table1
添加一个包含哈希的列,以便可以在哈希列上放置索引,然后针对哈希列? 检查完“ 0”后,将数据插入“ 2”中以查看是否存在值(如果不存在,则将其插入“ 0”中,然后将ID返回以存储在“ 2”中)。 该哈希将无法在sql中计算。 就可伸缩性,数据存储和性能而言,哪种方法更好?     

解决方法

我认为,在这种情况下(唯一重要的是确保唯一性,无需搜索/排序),您可以创建CLR UDF来生成哈希,包含此函数计算的哈希的计算持久列以及对的唯一约束该列。