A view - это в основном «именованный» оператор SQL.Вы можете ссылаться на представления в ваших запросах так же, как в реальной таблице.При доступе к представлению выполняется запрос за представлением.Например:
create view my_counter_view(num_rows) as
select count(*)
from gazillion_row_table;
select num_rows from my_counter_view;
Представления могут использоваться для многих целей, таких как предоставление более простой модели данных, реализация ограничений безопасности, повторное использование SQL-запросов, обходной путь для коротких событий SQL.
Материализованное представление - это представление, в котором запрос был выполнен, а результаты были сохранены в виде физической таблицы.Вы можете ссылаться на материализованное представление в вашем коде так же, как в реальной таблице.Фактически, является реальной таблицей, которую можно индексировать, объявлять ограничения и т. Д. При доступе к материализованному представлению вы получаете доступ к предварительно вычисленным результатам.Вы НЕ выполняете основной запрос.Существует несколько стратегий для того, чтобы поддерживать материализованное представление в актуальном состоянии.Вы найдете их все в документации.
Материализованные представления редко упоминаются непосредственно в запросах.Смысл заключается в том, чтобы позволить оптимизатору использовать механику «Переписать запрос» для внутренней перезаписи запроса, такого как пример COUNT (*) выше, в запрос к предварительно вычисленной таблице.Это очень мощный инструмент, так как вам не нужно менять исходный код.
Существует много вариантов использования материализованных представлений, но в основном они используются для повышения производительности.Другие применения: репликация, сложная проверка ограничений, обходные пути для недостатков в оптимизаторе.
Длинная версия: -> документация Oracle