使用的数据库是Microsoft SQL Server 2008。
当我在列上创建UNIQUE约束时,是否会创建自动索引或我手动为列创建索引?
来自http://msdn.microsoft.com/en-us/library/ms175132(v=sql.105).aspx
以下的段落创建UNIQUE约束时,会创建唯一的非聚集索引以默认强制执行UNIQUE约束
所以这意味着至少创建了一些索引(不确定什么是非聚集的)。请纠正我的理解。
答案 0 :(得分:1)
是的,UNIQUE约束是一个逻辑概念,对于SQL Server(和大多数DBMS系统)也涉及一个物理索引创建来强制执行它。
否则维护起来会适得其反,因为每个插入都需要全表扫描,以确保它不违反约束。