Vue vs vue 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 de sélection. Ces requêtes de sélection agissent comme des tables virtuelles. Normalement, les vues et les mviews font référence à de grandes requêtes de sélection, qui ont 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 de sélection de ses utilisateurs finaux. Lorsque nous devons exécuter l'instruction de sélection complexe, nous devons simplement exécuter
sélectionnez * depuis 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, elle exécute l'instruction select qui se trouve à l'intérieur du corps de la vue. Supposons que l'instruction select du corps de la vue soit une instruction très complexe. Ainsi, quand il est exécuté, il prend un certain temps à s'exécuter (relativement plus de temps). De plus, view utilise un très petit espace pour se stocker. C'est parce qu'il n'a qu'une instruction select comme contenu.
Vue matérialisée (Mview)
Il s'agit d'un type de vue spécial. Les aperçus sont créés lorsque nous rencontrons 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 de capture instantanée. Lorsque nous demandons des données à Mview, il n'a pas besoin de réexécuter son instruction select. Il donne la sortie de sa table de clichés. Par conséquent, le temps d'exécution de mview est inférieur à celui de view (pour la même instruction select). Cependant, les mviews ne peuvent pas être utilisées à tout moment, car elles affichent la même sortie, qui est stockée sous forme de table d'instantanés. Nous devrions actualiser le mview pour obtenir son dernier jeu de résultats.
Quelle est la différence entre View et Mview? 1. Mview stocke toujours sa sortie sous forme de table d'instantané lors de sa création, mais view 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'un espace relativement plus grand qu'une vue pour stocker son contenu (sous forme de table d'instantanés). 3. View prend un temps d'exécution plus long, mais mview prend un temps d'exécution plus court que les vues (pour la même instruction select). 4. Les vues panoramiques doivent être actualisées pour obtenir ses dernières données, mais les vues fournissent toujours ses dernières données. 5. Le schéma a besoin du privilège «créer une vue matérialisée» pour créer des vues, et pour les vues, il a besoin du privilège «créer une vue». 6. Les index peuvent être créés sur les vues mview pour améliorer les performances, mais les index ne peuvent pas être créés sur les vues. |