【问题标题】:Why do my indexes get dropped when I change an Index'd view's schema?当我更改索引视图架构时,为什么我的索引会被删除?
【发布时间】:2010-12-06 04:49:28
【问题描述】:

服务器:MS Sql Server 2008

当我创建一个索引视图......然后我更改视图的架构时,索引全部被删除。

太烦人了!

有人可以解释这是为什么吗?起初我认为这可能是因为索引所需的字段不再在模式中(我们只是改变了它,对吗?)....但是当索引字段在视图模式中的所有时候。 .. 它应该把索引留在那里。

无论如何..咆哮咆哮咆哮...

只是希望有人可能对此有所了解。

【问题讨论】:

    标签: sql-server-2008 indexed-view


    【解决方案1】:

    行为是设计使然。来自在线书籍:

    ALTER VIEW 可以应用于索引 意见;但是,更改视图 无条件地删除所有索引 视图。

    当您修改架构时,必须重新构建聚集索引。由于所有非聚集索引都依赖于聚集索引,因此必须重新构建它们。这可能就是所有索引都被删除的原因。

    【讨论】:

    • 是的。同意——我希望知道为什么会这样,设计使然。
    • 因为索引必须重建。如果您谈论大量数据,我猜自动替换索引可能会产生意想不到的性能影响。因此,您可以选择立即或在系统其他用户更方便的时间重新创建它们。
    • 好的 - 这有点道理。我希望他们能说“可以再次重新创建所有索引?”什么的……kewl。这满足了我想知道发生了什么的愿望。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2023-03-26
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    相关资源
    最近更新 更多