【发布时间】:2015-08-25 20:45:30
【问题描述】:
我想以以下格式向现有索引引入一列。
现有索引:
Create index idx_indexname on tablename(id)
我的新索引是
Alter index idx_indexname on tablename(id) include (column1)
我想以这种方式添加大约 300 个索引的列。请提出任何动态方法。
注意:我的大多数索引都属于唯一(非聚集)/主键(聚集索引)
【问题讨论】:
-
是否包含列对于所有索引都相同
-
是的,大部分索引都是一样的
-
您不能将包含的列添加到聚集索引中,因为无论如何都会包含该列(数据行的一部分,即聚集索引叶节点)。使用
CREATE INDEX...WITH(DROP_EXISTING=ON) INCLUDE(Column1)无需排序即可重建现有的非聚集索引。 -
是否要将列添加到所有表的所有现有索引?
标签: sql sql-server sql-server-2008 sql-server-2012