Diferença entre visualização e visualização materializada

Diferença entre visualização e visualização materializada
Diferença entre visualização e visualização materializada

Vídeo: Diferença entre visualização e visualização materializada

Vídeo: Diferença entre visualização e visualização materializada
Vídeo: A diferença de um cérebro de um gênio e o seu 2024, Julho
Anonim

Visualização vs Visualização Materializada

Views 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 de seleção, que possuem um conjunto de junções. Portanto, uma das principais vantagens das visualizações é que podemos armazenar consultas de seleção 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, basta executar

selectfrom viewname

Visualizar

Como mencionado anteriormente, 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 view, ela executa a instrução select que está dentro do corpo da view. Vamos assumir a instrução select do corpo da visão como uma instrução muito complexa. Então, quando é executado, leva algum tempo para ser executado (relativamente mais tempo). Além disso, a view usa um espaço muito pequeno para se armazenar. Isso porque ele tem apenas uma instrução select como seu conteúdo.

Visão Materializada (Mview)

Este é um tipo especial de visualização. Mviews são criados quando temos problemas de desempenho com views. 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 de mview é menor que 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âneos. Devemos atualizar o mview para obter seu último conjunto de resultados.

Qual é a diferença entre View e Mview?

1. O Mview sempre armazena sua saída como uma tabela de snapshot quando é criado, mas o view não cria nenhuma tabela.

2. View não precisa de muito espaço para armazenar seu conteúdo, mas mview precisa de espaço relativamente maior do que uma view para armazenar seu conteúdo (como uma tabela de snapshots).

3. View leva um tempo de execução maior, mas mview leva um tempo de execução menor do que views (para a mesma instrução select).

4. As mviews precisam ser atualizadas para obter os dados mais recentes, mas as visualizações sempre fornecem os dados mais recentes.

5. O esquema precisa do privilégio "criar visualização materializada" para criar mviews e, para visualizações, precisa do privilégio "criar visualização".

6. Índices podem ser criados em visualizações m para obter mais desempenho, mas índices não podem ser criados em visualizações.

Recomendado: