Как индексы работают над представлениями?

file="foo" 
if [[ -e "$file" ]]; then echo "File Exists"; fi;
17
задан gbn 12 November 2009 в 19:32
поделиться

3 ответа

Допустим, у вас есть представление, которое ограничивает таблицу определенными строками:

create view dbo.vw_HotProducts
as
select * from dbo.Products where Hot = 1

Теперь, если вы создаете индекс для этого представления, индекс будет содержать только горячие продукты. Вы можете сравнить это с сохранением результата просмотра во временной таблице. Это может быть очень полезно для сложных запросов с несколькими соединениями; в основном их вывод кэшируется.

Большой недостаток индексированных представлений состоит в том, что они воссоздаются каждый раз при изменении данных базовой таблицы. Это ограничивает использование индексированных представлений данными, которые не часто меняются, обычно в хранилище данных или в среде бизнес-аналитики.

10
ответ дан 30 November 2019 в 13:34
поделиться

См. http://msdn.microsoft.com/en-us/library/aa258260 (SQL.80) .aspx

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

Представление преобразуется из правильного представления в таблицу. Определение представления используется для обновления этой таблицы.

Oracle называет эти «материализованные взгляды».

6
ответ дан 30 November 2019 в 13:34
поделиться

Представление само по себе не является реальным или "постоянным" и не дает преимущества в производительности. Это просто расширенный макрос .

Добавьте индекс, и он физически существует (сохраняется), поэтому оптимизатор рассмотрит возможность его использования. Значит, это не макрос.

Я уверен, что Oracle называет их «материализованными представлениями», что является более подходящим названием.

Связанная информация: вычисляемый столбец имеет параметр PERSISTED, который делает то же самое ...

6
ответ дан 30 November 2019 в 13:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: