我需要在SQL Server数据库中禁用自动索引,基本上我想控制何时发生索引(例如,在晚上)。在sql server中禁用自动索引
我不想用表来禁用索引,比如像:
ALTER INDEX [IX_NAME] ON SCHEMA.TABLE DISABLE
有谁知道如何实现这一目标?
我需要在SQL Server数据库中禁用自动索引,基本上我想控制何时发生索引(例如,在晚上)。在sql server中禁用自动索引
我不想用表来禁用索引,比如像:
ALTER INDEX [IX_NAME] ON SCHEMA.TABLE DISABLE
有谁知道如何实现这一目标?
您可以按照概述的here禁用索引,但在重新启用它之前,它不会用于查询数据。您不能禁用索引并仍然在查询中使用索引,否则可能导致结果不正确或不一致。
你是对的,但这不是我相信的借口。在Oracle中,您可以指定何时重建索引。如果引擎应该使用索引,跟踪并不难。它只是将其标记为已损坏或类似的东西... – rpvilao
我很想看到关于这方面的Oracle文档。我很难相信它支持既可查询又延迟重建的索引。 –
最近我能想到的是,Oracle支持按需刷新物化视图。 https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG015就我所知,SQL Server不适用于其索引视图。 –
你在谈论什么样的自动索引? – JNK
您可以禁用一个索引 - 但它从来没有使用(也从未更新)。如果您的索引已启用,即用于加快查询速度,则**不能**关闭自动索引维护。这是SQL Server--它为你做到了这一点,它不像在dBase的日子里,你手动更新索引是你的负担。 –
这正是我想要的......我相信Oracle也支持它。 – rpvilao