2015-10-06 7 views
0

Если мы создадим индекс для представления, мы получим вид materialize.Почему материализуется индексированный просмотр?

Почему материализованное представление при его индексировании? Каково значение в отличие от неосновного взгляда?

Насколько я понимаю, нормальный вид физически не существует. Сохраняется только его определение, и каждая ссылка на представление фактически снова выполняет определение представления. Поэтому, когда мы вставляем изображение, мы вставляем его непосредственно в таблицу. Правильно ли это?

Если представление материализуется, оно станет физической таблицей с ее данными. Тогда в этом случае изменение в базовой таблице не будет обновляться в этом представлении (которое материализовалось и теперь живет собственной жизнью)?

+1

https://technet.microsoft.com/en-us/library/ms187864(v=sql.105).aspx – Pred

ответ

1

Давайте подумаем о таблице с кластеризованным индексом в течение минуты. Когда вы выбираете ключ кластеризации, SQL Server создает дерево b, листья которого являются фактическими данными. Некластеризованные индексы работают одинаково, за исключением того, что листовые узлы являются кортежами, которые представляют ваш ключ кластеризации (чтобы вы могли перемещаться по кластерному индексу и возвращаться к фактическим данным).

Расширение примера, когда вы индексируете представление, сначала необходимо предоставить кластеризованный индекс. Что бы вы ожидали жить у листьев , что индекс? Разумеется, данные! :) И любые некластеризованные индексы на представлении будут вести себя точно так же, как и их аналоги на физической таблице.

Что касается вашего вопроса о материализованном виде, который становится устаревшим, это не так. То есть SQL Server знает, что представление полагается на таблицу (поэтому представление должно быть привязано к схеме, поэтому вы не можете удалить одну из его составных таблиц), и поэтому любые операции DML против составляющих таблиц также отражаются в стол. Вы можете убедиться в этом, создав индексированное представление, а затем посмотрев план запроса простого обновления на одну из основных таблиц. Вы должны увидеть соответствующее обновление для индексированного представления.

0

Вид - это просто оператор выбора, который сохраняется и может быть выбран для удобства. Вставка/обновление с помощью представления выполняется непосредственно в таблице для выполнения его операции.

Индексированный вид хранится, индексируется, как и таблица.

Смежные вопросы