В чем разница между представлениями и материализованными представлениями в Oracle?

В чем разница между представлениями и материализованными представлениями в Oracle?

Ответ 1

Материализованные представления основаны на дисках и периодически обновляются на основе определения запроса.

Представления являются только виртуальными и запускают определение запроса каждый раз, когда к ним обращаются.

Ответ 2

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

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

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

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

Ответ 3

В представлении используется запрос для извлечения данных из нижележащих таблиц.

Материализованное представление представляет собой таблицу на диске, содержащую результирующий набор запроса.

Материализованные представления в основном используются для повышения производительности приложения, когда невозможно или желательно использовать стандартное представление с применяемыми к нему индексами. Недостатком является то, что вы должны использовать триггеры или какой-либо другой автоматический метод, чтобы обновить материализованное представление.

Ответ 4

Представления представляют собой, по существу, логические структуры, подобные таблицам, населенные на лету данным запросом. Результаты запроса вида не сохраняются нигде на диске, и представление воссоздается каждый раз, когда выполняется запрос. Материализованные представления - это фактические структуры, хранящиеся в базе данных и записанные на диск. Они обновляются на основе параметров, определенных при их создании.

Ответ 5

Материализованный вид - таблица на диске, содержащая результирующий набор запроса

Внешний вид - запрос, который извлекает данные из базовой таблицы

Ответ 6

Добавление к Майку Макаллистеру довольно подробного ответа...

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

Когда вы создаете материализованное представление, вы обнаружите, что Oracle создает как mview , так и таблицу с тем же именем, что может сбить с толку.

Ответ 7

A представление - это не что иное, как SQL-запрос, выводит результат запроса и делает его похожим на виртуальную таблицу, которая не занимает места в памяти или не содержит никаких данных

Но Материализованные представления являются объектами схемы, они сохраняют результаты запроса в отдельном объекте схемы (т.е. занимают место хранения и содержат данные). Это означает, что материализованное представление возвращает физически отдельную копию данных таблицы.

Ответ 8

Вид: Просмотр - это только именованный запрос. Он ничего не хранит. Когда есть запрос в представлении, он запускает запрос определения представления. Фактические данные поступают из таблицы.

Материализованные виды: Сохраняет данные физически и периодически обновляется. При запросе MV он предоставляет данные из MV.