为Unique约束创建自动索引

时间:2013-04-03 09:53:42

标签: sql-server sql-server-2008

使用的数据库是Microsoft SQL Server 2008。

当我在列上创建UNIQUE约束时,是否会创建自动索引或我手动为列创建索引?

来自http://msdn.microsoft.com/en-us/library/ms175132(v=sql.105).aspx

以下的段落

创建UNIQUE约束时,会创建唯一的非聚集索引以默认强制执行UNIQUE约束

所以这意味着至少创建了一些索引(不确定什么是非聚集的)。请纠正我的理解。

1 个答案:

答案 0 :(得分:1)

是的,UNIQUE约束是一个逻辑概念,对于SQL Server(和大多数DBMS系统)也涉及一个物理索引创建来强制执行它。

否则维护起来会适得其反,因为每个插入都需要全表扫描,以确保它不违反约束。