【问题标题】:How to create a disabled index in SQL Server 2008?如何在 SQL Server 2008 中创建禁用索引?
【发布时间】:2011-10-14 11:27:58
【问题描述】:

如何在 SQL Server 2008 中创建禁用索引?我可以先创建索引然后禁用它,但如果表很大,那是浪费时间。如何直接创建禁用状态的索引?

背景信息:我希望两个数据库具有相同的架构对象,但我只需要两个数据库之一中的索引。

【问题讨论】:

  • not 首先创建索引有什么问题?我的意思是,您自己说过,您只需要两个数据库之一中的索引。因此,只需在一个中创建它,不要在另一个中创建它。
  • 我希望尽可能地使架构相同,因为我相信它可以简化维护并可能防止将来出现问题,我目前无法预见,但确实存在。

标签: sql-server tsql sql-server-2008 indexing


【解决方案1】:

您可以创建索引as a hypothetical index

CREATE INDEX ix ON T(Col)
WITH STATISTICS_ONLY 

不确定这是否满足您的需求?

【讨论】:

  • 会考虑的。好主意。
【解决方案2】:

你真的不能。我不知道在运行创建脚本时没有实际创建索引的方法,您知道,已创建

作为一种解决方法,您可以使用您知道会评估为假的过滤器创建所需的索引,例如:

CREATE INDEX ix_myindex ON MyTable(myfields)
WHERE PrimaryKeyWhichIsNeverNULL IS NULL

然后禁用它,然后更改它以删除过滤器。我不是 100% 确定这不会重建它。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
相关资源
最近更新 更多