Почему мои индексы удаляются, когда я меняю схему индексируемого представления?

StackOverflow https://stackoverflow.com/questions/1558149

  •  21-09-2019
  •  | 
  •  

Вопрос

Сервер:MS Sql Server 2008

Когда я создаю индексированное представление ..и затем я изменяю схему представления, все индексы удаляются.

Это ооочень раздражает!

Кто-нибудь может объяснить, почему это так?Сначала я подумал, что это может быть из-за того, что полей, необходимых для индекса, больше нет в схеме (мы ведь только что изменили ее, верно?)....но для всех случаев , когда индексные поля находятся в схеме представления ...он должен просто оставить индекс там.

в любом случае..разглагольствовать , разглагольствовать , разглагольствовать ...

просто надеюсь, что у кого-то могут быть какие-то внутренние знания по этому поводу.

Это было полезно?

Решение

Это поведение разработано специально.Из книг Онлайн:

ИЗМЕНЕНИЕ ВИДА может быть применено к индексированным представлениям;однако ALTER VIEW безоговорочно удаляет все индексы в представлении.

Когда вы изменяете схему, кластеризованный индекс должен быть перестроен.Поскольку все некластеризованные индексы полагаются на кластеризованный индекс, их необходимо перестроить.Вероятно, именно поэтому все индексы отброшены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top