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

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

Vidéo: Différence entre la vue et la vue matérialisée

Vidéo: Différence entre la vue et la vue matérialisée
Vidéo: Schmackdown! HTC Rezound vs iPhone 4S 2024, Juillet
Anonim

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 à ses utilisateurs finaux. Lorsque nous devons exécuter l'instruction select complexe, nous devons simplement exécuter

selectfrom viewname

Voir

Comme mentionné précédemment, la vue est une table virtuelle, qui cache 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, lorsqu'il est exécuté, son exécution prend un certain temps (relativement plus de temps). De plus, view utilise très peu d'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 Mviews sont créés lorsque nous rencontrons des problèmes de performances avec les vues. Lorsque nous créons une mview, elle exécute sa requête de sélection et stocke sa sortie sous forme de table d'instantanés. Lorsque nous demandons des données à Mview, il n'est pas nécessaire de réexécuter son instruction select. Il donne la sortie de sa table d'instantanés. Par conséquent, le temps d'exécution de mview est inférieur à celui de view (pour la même instruction select). Cependant, mviews ne peut pas être utilisé tout le temps, car il affiche la même sortie, qui est stockée sous forme de tableau d'instantanés. Nous devrions actualiser la 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 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'un espace relativement plus grand qu'une vue pour stocker son contenu (sous forme de tableau d'instantanés).

3. View prend plus de temps d'exécution, mais mview prend moins de temps d'exécution que views (pour la même instruction select).

4. Mviews doit être actualisé pour obtenir ses dernières données, mais les vues donnent 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 mviews, et pour les vues, il a besoin du privilège "créer une vue".

6. Les index peuvent être créés sur les mviews pour gagner en performance, mais les index ne peuvent pas être créés sur les vues.

Conseillé: