Der*_*omm 1 index sql-server-2005 sql-server
让我们假设我们有一个如下表:
PK -- nonclustered primary key
Col1 -- unique clustered
Col2
Col3
Run Code Online (Sandbox Code Playgroud)
这是指数:
nonclustered index on (Col2, Col3)
Run Code Online (Sandbox Code Playgroud)
与此索引的任何不同:
nonclustered index on (Col2, Col3) include (PK)
Run Code Online (Sandbox Code Playgroud)
如果我的 PK 是集群的而不是非集群的怎么办?现在它有所作为/没有有所作为吗?
编辑添加:
我想这是一种迂回的提问方式:非聚集索引的指针是基于聚集索引还是主键返回到表?我假设使用的是聚集索引 RID。
聚集索引键作为行标识符包含在每个非聚集索引中。
SQL Server 只是忽略INCLUDE聚集索引键中的一个。
如果您的 PK 索引是,NONCLUSTERED那么它将不会包含在所有其他 NC 索引的每一行中。
您可以通过制作两个相同的索引(一个有INCLUDE(ClusterKey)一个没有)来自己测试,并比较大小。它们将是相同的,即使在数亿行上也是如此。
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |