【发布时间】:2011-04-17 11:29:52
【问题描述】:
为什么 INDEX 创建语句有 UNIQUE 参数?
据我所知,非聚集索引包含一个书签,一个指向行的指针,它应该是唯一的,以区分非唯一的行,
所以确保非聚集索引是唯一的?
正确吗?
那么,我是否理解非唯一索引只能在聚集表上?因为
- “视图上的聚集索引必须是唯一的”[1]
由于“聚集索引的底部或叶级包含表的实际数据行”[1],我是否正确理解,可以通过唯一约束 (可能是表 [2] 的全部或部分)列?
那么,索引的唯一参数是什么?
除了混淆基本概念定义 [3]
更新:
这又是同样的陷阱 - 根据未定义的术语解释已经多次解释的事物,将所有解释转换为永无止境的猜谜游戏。
请参阅我的子问题 [4],这实际上是对同一问题的重新措辞。
更新2:
问题在于含糊不清、缺乏定义或在不恰当的上下文中不恰当地使用术语。如果索引被定义为服务于(查找和)识别/指向真实数据的结构,那么非唯一或 NULL 索引没有任何意义。再见
引用:
[1]
创建索引 (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms188783.aspx
[2]
创建表 (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms174979.aspx
[3]
唯一索引还是唯一键?
Unique index or unique key?
[4]
什么是索引,非聚集索引可以是非唯一的吗?
what is index and can non-clustered index be non-unique?
【问题讨论】:
标签: sql sql-server tsql indexing unique-index