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

Сервер: MS Sql Server 2008

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

Это так раздражает!

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

в любом случае.. напыщенная напыщенная напыщенная речь...

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

1 ответ

Решение

Поведение - это дизайн. Из книг онлайн:

ALTER VIEW может применяться к индексированным представлениям; однако ALTER VIEW безоговорочно удаляет все индексы в представлении.

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

Другие вопросы по тегам