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

Сервер: MS Sql Server 2008

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

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

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

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

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

13.10.2009 04:07:02
1 ОТВЕТ
РЕШЕНИЕ

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

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

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

7
13.10.2009 04:13:15
Ага. Договорились - я надеялся узнать, ПОЧЕМУ это было, по замыслу.
Pure.Krome 13.10.2009 04:18:22
Потому что индексы должны быть перестроены. Я полагаю, что автоматическая замена индексов может оказать неожиданное влияние на производительность, если вы говорите о большом количестве данных. Поэтому у вас есть возможность воссоздать их немедленно или в более удобное для других пользователей системы время.
K. Brian Kelley 13.10.2009 04:28:12
Хорошо, это имеет смысл. Хотелось бы, чтобы они сказали «ОК, чтобы заново воссоздать все индексы?» или что-то ... Кьюл. это насыщает мое желание знать, что происходит. ура!
Pure.Krome 13.10.2009 05:58:50