Просмотр против материализованного представления
Представления и материализованные представления (mviews) - это два типа объектов базы данных Oracle. Оба эти объекта относятся к запросам на выборку. Эти запросы выбора действуют как виртуальные таблицы. Обычно представления и mviews относятся к большим запросам на выборку, которые имеют набор соединений. Следовательно, одним из основных преимуществ представлений является то, что мы можем хранить сложные запросы на выборку в виде представлений. Следовательно, мы можем скрыть логику выборочных запросов от конечных пользователей. Когда нам нужно выполнить сложный оператор выбора, просто нужно выполнить
выберите * из имени просмотра
Посмотреть
Как упоминалось ранее, представление - это виртуальная таблица, которая скрывает запрос выбора. Эти запросы на выборку предварительно не выполняются. Когда мы выполняем оператор выбора из представления, он выполняет оператор выбора, который находится внутри тела представления. Допустим, оператор select тела представления очень сложный оператор. Поэтому, когда он выполняется, для его выполнения требуется некоторое время (относительно больше времени). Кроме того, view занимает очень мало места для хранения самого себя. Это потому, что в качестве содержимого у него есть только оператор выбора.
Материализованное представление (Mview)
Это особый вид взгляда. Mviews создаются, когда у нас возникают проблемы с производительностью представлений. Когда мы создаем mview, он выполняет свой запрос выбора и сохраняет свои выходные данные в виде таблицы моментальных снимков. Когда мы запрашиваем данные у Mview, ему не нужно повторно выполнять свой оператор выбора. Он дает результат из своей таблицы снимков. Следовательно, время выполнения mview меньше, чем у view (для того же оператора select). Однако mviews нельзя использовать все время, так как он показывает один и тот же вывод, который хранится в виде таблицы моментальных снимков. Мы должны обновить mview, чтобы получить последний набор результатов.
В чем разница между View и Mview? 1. Mview всегда сохраняет свои выходные данные в виде таблицы моментальных снимков при создании, но view не создает никаких таблиц. 2. Представлению не нужно большое пространство для хранения своего содержимого, но mview требуется относительно большее пространство, чем представление для хранения своего содержимого (в виде таблицы моментальных снимков). 3. Просмотр требует большего времени выполнения, но mview требует меньшего времени выполнения, чем представления (для того же оператора select). 4. Mviews необходимо обновить, чтобы получить последние данные, но представления всегда предоставляют самые свежие данные. 5. Схеме требуется привилегия «создать материализованное представление» для создания mviews, а для представлений - привилегия «создать представление». 6. Для повышения производительности в mviews можно создавать индексы, но нельзя создавать индексы в представлениях. |