我想确保Microsoft SQL表中的每一行都是唯一的

时间:2019-02-21 13:06:53

标签: sql tsql

我想确保Microsoft SQL表中的每一行都是唯一的。当然,我们可以在每行上都有一个唯一索引,但是有人提议添加一个对每个列进行哈希处理的计算列,然后在该列上添加一个唯一索引。有人可以将我指向任何说明这种方式是否有好处的事情吗?

1 个答案:

答案 0 :(得分:0)

如果要保证每一行都是唯一的,请在所有列上使用唯一索引。

可以使用哈希函数,但是您有发生冲突的风险-两个不同的行哈希为相同的值。

使用散列来匹配完整行是一个好主意。例如,它可以提高匹配完整行的性能。但是,当两个哈希值匹配时,需要执行第二步。第二步是对整个行值进行全面比较。