Visualização vs Visualização Materializada
Visualizações e visualizações materializadas (mviews) são dois tipos de objetos de banco de dados oracle. Ambos os objetos referem-se a consultas selecionadas. Essas consultas selecionadas atuam como tabelas virtuais. Normalmente visualizações e mviews referem-se a grandes consultas selecionadas, que possuem um conjunto de junções. Portanto, uma das principais vantagens das visualizações é que podemos armazenar consultas selecionadas complexas como visualizações. Portanto, podemos ocultar a lógica por trás das consultas selecionadas de seus usuários finais. Quando precisamos executar a instrução select complexa, apenas temos que executar
selecione * no nome da visualização
Visão
Como mencionado antes, view é uma tabela virtual, que oculta uma consulta selecionada. Essas consultas selecionadas não são pré-executadas. Quando executamos uma instrução select de uma visão, ela executa a instrução select que está dentro do corpo da visão. Vamos supor que a declaração select do corpo da visão seja uma declaração muito complexa. Portanto, quando é executado, leva algum tempo para ser executado (relativamente mais tempo). Além disso, o modo de exibição usa um espaço muito pequeno para se armazenar. Isso ocorre porque ele tem apenas uma declaração selecionada como seu conteúdo.
Visão Materializada (Mview)
Este é um tipo especial de visão. Mviews são criados quando temos problemas de desempenho com visualizações. Quando criamos um mview, ele executa sua consulta de seleção e armazena sua saída como uma tabela de instantâneos. Quando solicitamos dados do Mview, ele não precisa executar novamente sua instrução select. Ele fornece a saída de sua tabela de instantâneos. Portanto, o tempo de execução do mview é menor do que o do view (para a mesma instrução select). No entanto, mviews não pode ser usado o tempo todo, pois mostra a mesma saída, que é armazenada como uma tabela de instantâneo. Devemos atualizar o mview para obter o conjunto de resultados mais recente.
Qual é a diferença entre View e Mview? 1. O Mview sempre armazena sua saída como uma tabela de instantâneo quando é criado, mas o view não cria nenhuma tabela. 2. A visualização não precisa de muito espaço para armazenar seu conteúdo, mas a visualização precisa de um espaço relativamente maior do que uma visualização para armazenar seu conteúdo (como uma tabela de instantâneos). 3. View leva mais tempo de execução, mas mview leva menos tempo de execução do que views (para a mesma instrução select). 4. Mviews precisam ser atualizados para obter seus dados mais recentes, mas views sempre fornecem seus dados mais recentes. 5. O esquema precisa do privilégio “criar visão materializada” para criar mviews, e para as visões, ele precisa do privilégio “criar visão”. 6. Os índices podem ser criados em mviews para obter mais desempenho, mas os índices não podem ser criados em visualizações. |