我只想知道是否可以从表列中删除非聚集索引。我最近在列上创建了一个必需的非聚簇索引。所以我只想删除这个索引,这样我就可以在向表中添加索引之前和之后获得执行计划。我想通过查询删除它。有可能吗?
答案 0 :(得分:6)
有一个DROP INDEX命令;
DROP INDEX table_name.index_name
应该工作。
也可以禁用索引。讨论了优点和缺点here,但本文的有效点是:
禁用和删除索引的最大区别是 是否持久保存元数据和统计信息。如果禁用,他们 是。如果掉线,他们不是。确保你仔细权衡你的 在执行任一操作之前的选项,并始终有办法 重新创建可用的索引。
因此,在这种情况下,您可能只想通过以下方式禁用索引,收集统计信息,然后重新启用索引:
停用:
ALTER INDEX index_name ON schema.table_name DISABLE
启用:强>
ALTER INDEX index_name ON schema.table_name REBUILD