В чем разница между представлениями и материализованными представлениями в Oracle?
Материализованные представления основаны на дисках и периодически обновляются на основе определения запроса.
Представления являются только виртуальными и выполняют определение запроса каждый раз, когда к ним обращаются.
Просмотров #
Они оценивают данные в таблицах, лежащих в основе определения представления на момент представления запроса. Это логическое представление таблиц, без данных, хранящихся в другом месте.
Плюс мнение, что он всегда возвращают последние данные. В обратная сторона считает, что ее производительности зависит от того, насколько хорошо оператор SELECT мнение базируется на. Если оператор SELECT, используемый вид соединения многих таблиц, или использует соединения на основе неиндексированных столбцов представления может работать плохо.
Они похожи на обычные мнения, в том, что они представляют собой логическое представление данных (на основе инструкции Select), однако базовый запрос результирующий набор был сохранен в таблице. Верх этого является то, что при запросе материализованных представлений, запрашиваются стол, которые также могут быть проиндексированы.
Кроме того, поскольку все соединения были решены на материализованное представление по времени обновления, вам необходимо будет оплатить стоимость соединения после (или так часто, как вы обновите ваш материализованных представлений), а не каждый раз, когда вы выберите из материализованного представления. Кроме того, при запросе перезаписи включена, Oracle может оптимизировать запрос, который выбирает из источника ваших материализованных представлений таким образом, что вместо этого он читает из своего материализованного представления. В ситуациях, когда вы создать материализованные представления как формы сводных таблиц, или в виде копий из частых запросов, это может значительно ускорить время отклика приложений конечного пользователя. В Хотя недостатком является то, что данные, которые вы получите назад от материализованных представлений только как до даты, как в последний раз материализованных представлений был обновлен.
Материализованные представления можно установить обновление вручную, по расписанию, или на основе базы данных обнаруживать изменение в одной из базовых таблиц. Материализованные представления можно постепенно обновляются, сочетая их с журналов материализованных представлений, что закон как изменение источники сбора данных на базовых таблицах.
Материализованные представления используются чаще всего в данных / приложений бизнес-аналитики, где запросы большие таблицы фактов с тысячами миллионов строк в результате время ответа на запросы, что приводило к невозможности использования приложения.
Материализованные представления также помогают гарантировать последовательный момент времени, аналогично изоляции snapshot.
Представление использует запрос для получения данных из базовых таблиц.
Материализованное представление - это таблица на диске, содержащая набор результатов запроса.
Материализованные представления в основном используются для повышения производительности приложения, когда использование стандартного представления с индексами нецелесообразно или нежелательно. Материализованные представления можно регулярно обновлять либо с помощью триггеров, либо используя опцию ON COMMIT REFRESH
. Для этого требуется несколько дополнительных разрешений, но в этом нет ничего сложного. Опция ON COMMIT REFRESH
существует, по крайней мере, с Oracle 10.
Представления - это, по сути, логические таблицеподобные структуры, заполняемые "на лету" заданным запросом. Результаты запроса представления не хранятся нигде на диске, а представление создается заново при каждом выполнении запроса. Материализованные представления - это реальные структуры, хранящиеся в базе данных и записываемые на диск. Они обновляются на основе параметров, определенных при их создании.
Вид: вид-это просто именованный запрос. Это не't магазин ничего. Когда есть запрос на вид, он выполняет запрос определения представления. Фактические данные берутся из таблицы.
Материализованных представлений: хранилища данных физически и периодически обновляются. При запросе МВ, она предоставляет данные из МВ.
Добавив к Майк Макаллистер'ы довольно-исчерпывающий ответ...
Материализованные представления можно установить только обновления автоматически через обнаружение изменения базы данных при выполнении запроса вида является простой компилятором. Если это'ы считались слишком сложными, он выиграл'т быть в состоянии создать, по сути, внутренние триггеры для отслеживания изменений в исходных таблицах, чтобы обновлять только измененные строки в таблице mview и.
При создании материализованного представления, вы'll найти, что Oracle создает и mview и и в виде таблицы с таким же именем, который может сделать вещи путаете.