SQL Server 唯一索引与唯一键有何区别?

作者:vkvi 来源:ITPOW(原创) 日期:2017-2-10

先看看这两个设置

唯一索引

唯一键

关于唯一性的区别

二者都可以保证唯一性,但是有点小区别,就是对待 NULL。

  • 唯一索引遇到 NULL,直接存储 NULL,如果 NULL 重复,则存储失败。
  • 唯一键遇到 NULL,先转换成 0 再存储,如果 0 重复,则存储失败。

所以,如果我们的字段不允许为 NULL,则二者在唯一性上没有什么区别,最多就是错误提示文字有点点差别。

关于效率的区别

一个带“索引”,一个带“键”,是不是带“键”的就没有索引呢?是不是会慢一点呢?

实测却并不是,二者是相同的,如下图:

唯一索引与唯一键的效率

相关文章