Différence entre la vue et la vue matérialisée

Voir vs Voir matérialisée

Les vues et les vues matérialisées (mviews) sont deux types d'objets de base de données Oracle. Ces deux objets font référence à des requêtes sélectionnées. Ces requêtes de sélection agissent comme des tables virtuelles. Normalement, les vues et les visionnages font référence à des requêtes de sélection volumineuses comportant un ensemble de jointures. Par conséquent, l'un des principaux avantages des vues est que nous pouvons stocker des requêtes de sélection complexes sous forme de vues. Par conséquent, nous pouvons masquer la logique derrière les requêtes sélectionnées à ses utilisateurs finaux. Lorsque nous devons exécuter l'instruction select complexe, nous devons simplement exécuter

                      sélectionnez * de viewname

Vue

Comme mentionné précédemment, view est une table virtuelle, qui masque une requête de sélection. Ces requêtes de sélection ne sont pas pré-exécutées. Lorsque nous exécutons une instruction select à partir d'une vue, celle-ci est exécutée dans le corps de la vue. Supposons que la déclaration select du corps de la vue soit une déclaration très complexe. Donc, quand il est exécuté, cela prend du temps (relativement plus de temps). De plus, la vue utilise un très petit espace pour se stocker. En effet, son contenu ne comporte qu'une déclaration select..

Vue matérialisée (Mview)

C'est un type de vue spécial. Les Mviews sont créés lorsque nous avons des problèmes de performances avec les vues. Lorsque nous créons un mview, il exécute sa requête de sélection et stocke sa sortie sous forme de table d'instantané. Lorsque nous demandons des données à Mview, il n’est pas nécessaire de réexécuter son instruction de sélection. Il donne la sortie de sa table d'instantanés. Par conséquent, le temps d'exécution de mview est inférieur à view (pour la même instruction select). Cependant, les mviews ne peuvent pas être utilisés à tout moment, car ils affichent la même sortie, stockée sous forme de table d'instantanés. Nous devrions rafraîchir le mview pour obtenir son dernier jeu de résultats.

Quelle est la différence entre Voir et Mview?

1. Mview stocke toujours sa sortie sous forme de table d'instantané lors de sa création, mais la vue ne crée aucune table..

2. La vue n'a pas besoin de beaucoup d'espace pour stocker son contenu, mais mview a besoin d'espace relativement plus grand qu'une vue pour stocker son contenu (sous forme de tableau des instantanés). 

3. La vue prend plus de temps d'exécution, mais mview prend plus de temps que les vues (pour la même instruction select).

4. Les Mviews doivent être actualisés pour obtenir ses dernières données, mais les vues donnent toujours ses dernières données..

5. Les besoins du schéma “Créer une vue matérialisée” privilège de créer des vues, et pour les vues, il faut “Créer une vue” privilège.

6. Les index peuvent être créés sur les mviews pour améliorer les performances, mais ils ne peuvent pas être créés sur les vues..