【发布时间】:2012-12-13 00:32:19
【问题描述】:
我刚刚执行了以下脚本
CREATE TABLE Test
(
ID INT IDENTITY PRIMARY KEY,
Info nvarchar(50)
)
令我惊讶的是,SSMS 为 ID 列创建了一个聚集索引。所以,我的问题是为什么不是非聚集索引?
根据我的理解,在这种情况下最好使用非聚集索引,因为由于二叉树的存在,查找值为 X 的 ID 比使用聚集索引要快得多值以某种方式分组的地方。此外,如果我考虑接收数据,则必须以某种方式快速访问 ID。正如在许多文章中所写的那样,二叉树是接收特定或多个 ID 的最快方式。除此之外,在大多数情况下,我看到任何表的主键都是具有自动递增值的 ID。因此,使用这种自增原理的方法是很常见的。
那么,使用非聚集密钥有什么好处?为什么在 SSMS 中是默认设置?
【问题讨论】:
-
聚集索引是你喜欢的二叉树...
标签: sql-server database-design indexing ssms-2012