唯一性索引(unique index)和唯一性约束(unique  constraint)是一样的吗?

是的,你几乎可以认为它们是一样的。

那么它们不一样在什么地方?

就像我前面所说的那样,它们几乎是一样的,所以可以知道它们的共同点肯定会更多,而且也更重要。所以我们先来看看它们的共同点。

唯一性索引是一种实体结构来保证列值的唯一性,唯一性约束的实质也就是建立一个唯一性索引来实现唯一性约束的,所以唯一性约束就像是套上了“约束”外壳的唯一性索引。

至于它们的不同之处,可以详见这篇文章(啰嗦了一些),在此总结一下,唯一性约束(UC)和唯一性索引(UI)。

UC是个约束,但是却不比UI多什么特点,反倒是UI可以在创建索引时加入一些选项(如PAD_INDEX, FILLFACTOR, IGNORE_DUP_KEY, DROP_EXISTING, 和STATISTICS_NORECOMPUTE)而更灵活,这些选项中除了FILLFACTOR,其它的均不能在UC中实现。

UC这种约束是不能被Disable的,所以就这样结束吧。