Разница между представлением и материализованным представлением

Представление против Материализованного Представления

Представления и материализованные представления (mviews) - это два типа объектов базы данных оракула. Оба эти объекта ссылаются на запросы выбора. Эти запросы выбора действуют как виртуальные таблицы. Обычно представления и mview ссылаются на большие запросы на выборку, которые имеют множество объединений. Поэтому одним из основных преимуществ представлений является то, что мы можем хранить сложные запросы на выборку как представления. Следовательно, мы можем скрыть логику запросов select от конечных пользователей. Когда нам нужно выполнить сложный оператор выбора, просто мы должны выполнить

                      выберите * из имени

Посмотреть

Как упоминалось ранее, представление представляет собой виртуальную таблицу, которая скрывает запрос выбора. Эти запросы выбора не выполняются заранее. Когда мы выполняем оператор выбора из представления, он выполняет оператор выбора, который находится внутри тела представления. Давайте предположим, что оператор select тела представления является очень сложным оператором. Поэтому, когда он выполняется, требуется некоторое время для выполнения (относительно больше времени). Кроме того, представление использует очень маленькое пространство для хранения себя. Это потому, что он имеет только оператор выбора в качестве своего содержания.

Материализованный вид (Mview)

Это особый тип зрения. Mviews создаются, когда у нас возникают проблемы с производительностью. Когда мы создаем mview, он выполняет свой запрос select и сохраняет свои выходные данные в виде таблицы снимков. Когда мы запрашиваем данные у Mview, ему не нужно повторно выполнять оператор select. Это дает вывод из своей таблицы снимков. Следовательно, время выполнения mview меньше, чем view (для того же оператора select). Однако mviews нельзя использовать все время, так как он показывает один и тот же вывод, который хранится в виде таблицы моментальных снимков. Мы должны обновить mview, чтобы получить его последний набор результатов.

В чем разница между Посмотреть и Mview?

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

2. Представлению не требуется большое пространство для хранения его содержимого, но mview требуется относительно больше места, чем представлению для хранения его содержимого (в виде таблицы моментальных снимков). 

3. Представление занимает больше времени выполнения, но mview требует меньше времени выполнения, чем представления (для того же оператора select).

4. Mviews должны быть обновлены, чтобы получить свои последние данные, но представления всегда дают свои последние данные.

5. Схема нуждается «Создать материализованное представление» привилегия для создания mviews, а для просмотров требуется «Создать вид» привилегия.

6. Индексы могут быть созданы в mviews для увеличения производительности, но индексы не могут быть созданы в представлениях.