Qual é a diferença entre Visões e Vistas Materializadas no Oracle?
As visualizações materializadas são baseadas em disco e são actualizadas periodicamente com base na definição da consulta.
As visualizações são apenas virtuais e executam a definição da consulta cada vez que são acessadas.
Uma visão utiliza uma consulta para extrair dados das tabelas subjacentes.
Uma visão materializada é uma tabela em disco que contém o conjunto de resultados de uma consulta.
As visualizações materializadas são usadas principalmente para aumentar o desempenho da aplicação quando é't viável ou desejável usar uma visualização padrão com índices aplicados a ela. Vistas materializadas podem ser atualizadas regularmente através de triggers ou utilizando a opção ON COMMIT REFRESH
. Isto requer algumas permissões extras, mas não é nada complexo. A opção ON COMMIT REFRESH
está em vigor desde pelo menos o Oracle 10.
As vistas são essencialmente estruturas lógicas em forma de tabela, povoadas na mosca por uma determinada consulta. Os resultados de uma consulta de visualização não são armazenados em nenhum lugar no disco e a visualização é recriada toda vez que a consulta é executada. As vistas materializadas são estruturas reais armazenadas dentro do banco de dados e gravadas no disco. Elas são atualizadas com base nos parâmetros definidos quando são criadas.