【问题标题】:Default index in MS SQL ServerMS SQL Server 中的默认索引
【发布时间】:2017-07-21 19:33:28
【问题描述】:
当我使用以下查询为 MS SQL Server 中的列创建索引时
create index IX_indexname on tablename(columnname);
不说它是聚集索引还是非聚集索引,会创建什么索引呢?哪个是默认索引?
【问题讨论】:
-
sql 指的是 SQL 标准。您是否使用特定 RDBMS?如果是这样,请edit 并为您的产品添加标签。然后,请考虑当您在其中阅读有关create index 的信息时,可能有产品的文档会说明这一点。
-
标签:
sql
sql-server
indexing
clustered-index
non-clustered-index
【解决方案1】:
默认是非集群的。
如有疑问,您可以参考文档..
下面是MSDN for create index statement的语法
创建 [ 唯一 ] [ 集群 | NONCLUSTERED ] INDEX index_name
方括号中的所有内容都是可选的,所以你会留下
创建索引 index_name
MSDN 又说
如果未指定 CLUSTERED,则创建非聚集索引。
【解决方案2】:
当您提到聚集索引时,我猜这个问题是指 MS SQL Server。
除非您明确指定它是聚集的,否则索引将是非聚集的。