2008-09-18 7 views

ответ

269

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

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

+44

Также, когда вам нужна производительность данных, которые не обязательно должны быть обновлены до самой секунды, материализованные представления лучше, но ваши данные будут старше, чем в стандартном представлении. Обычно отчеты BI получают большую пользу от материализованных представлений. – Marthinus 2011-07-18 13:39:08

+25

@ Marthinus - это правильно, за исключением материализованного представления, которое является REFRESH ON COMMIT - MV вернет точно данные, которые были зафиксированы. – 2012-05-14 06:50:38

+2

В чем смысл DISK? Это средняя таблица не входит в DISK? Он хранится в файле, а доступ к DISK быстрее, чем доступ к файлу ....? – 2014-09-16 03:55:36

43

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

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

Материализованные виды в основном используются для увеличения производительности приложений, когда невозможно использовать или использовать стандартный вид с применяемыми к нему индексами. Материализованные представления могут обновляться на регулярной основе либо через триггеры, либо с использованием опции ON COMMIT REFRESH. Для этого требуется несколько дополнительных разрешений, но это ничего сложного. ON COMMIT REFRESH существует, по крайней мере, с Oracle 10.

14

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

264

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

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

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

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

1

Добавляем к тщательному ответу Майка Макаллистера ...

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

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

12

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

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

1

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

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

1

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

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