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


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

8 286

8 ответов:

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

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

вид

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

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

материализованные представления

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

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


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

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


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

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

материализованное представление-это таблица на диске, который содержит результат запроса.

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

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

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

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

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

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

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

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

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

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

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