Как индексы работают над взглядами?
-
19-09-2019 - |
Вопрос
Может ли кто -нибудь объяснить мне на простом английском языке, как работает индекс на представлении? У меня довольно простое понимание индексов на таблицах; Как индексировать представление будет работать не так, как просто позволить индексам на базовых таблицах делать их вещество естественным образом?
Решение
Скажем, у вас есть представление, которое ограничивает таблицу определенными рядами:
create view dbo.vw_HotProducts
as
select * from dbo.Products where Hot = 1
Теперь, если вы создаете индекс в этом представлении, индекс содержит только горячие продукты. Вы можете сравнить его с хранением результата представления во временной таблице. Это может быть очень полезно для сложных запросов с несколькими соединениями; В основном их выход кэшируется.
Большой недостаток индексированных взглядов заключается в том, что они воссозданы каждый раз, когда изменяются данные о базовых таблицах. Это ограничивает использование индексированных представлений для данных, которые часто не меняются, обычно в хранилище данных или среде бизнес -аналитики.
Другие советы
Видеть http://msdn.microsoft.com/en-us/library/aa258260(sql.80).aspx
Создание уникального кластерного индекса в представлении улучшает производительность запроса, потому что представление хранится в базе данных так же, как хранится таблица с кластерным индексом.
Вид преобразуется из правильного представления в таблицу. Определение представления используется для обновления этой таблицы.
Oracle называет эти «материализованные взгляды».
Само по себе мнение не является реальным или «сохраняется» и не имеет выгоды. Это просто макрос это расширено.
Добавьте индекс, и он физически существует (сохраняется), поэтому оптимизатор рассмотрит его использование. Тогда это не макрос.
Я уверен, что Oracle называет их «материализованными взглядами», что является лучшим именем.
Связанный к вашему сведению: вычисленный столбец имеет постоянный вариант, который делает то же самое ...