Почему мои индексы удаляются, когда я меняю схему индексируемого представления?
-
21-09-2019 - |
Вопрос
Сервер:MS Sql Server 2008
Когда я создаю индексированное представление ..и затем я изменяю схему представления, все индексы удаляются.
Это ооочень раздражает!
Кто-нибудь может объяснить, почему это так?Сначала я подумал, что это может быть из-за того, что полей, необходимых для индекса, больше нет в схеме (мы ведь только что изменили ее, верно?)....но для всех случаев , когда индексные поля находятся в схеме представления ...он должен просто оставить индекс там.
в любом случае..разглагольствовать , разглагольствовать , разглагольствовать ...
просто надеюсь, что у кого-то могут быть какие-то внутренние знания по этому поводу.
Решение
Это поведение разработано специально.Из книг Онлайн:
ИЗМЕНЕНИЕ ВИДА может быть применено к индексированным представлениям;однако ALTER VIEW безоговорочно удаляет все индексы в представлении.
Когда вы изменяете схему, кластеризованный индекс должен быть перестроен.Поскольку все некластеризованные индексы полагаются на кластеризованный индекс, их необходимо перестроить.Вероятно, именно поэтому все индексы отброшены.