Différence entre vue et vue matérialisée
Question:
- Quelle est la différence entre une vue et une vue matérialisée?
- Sont-ils des vues?
- Que signifie rafraîchir une vue matérialisée?
Les deux sont très différentes, même si elles se comportent de la même manière pour l’utilisateur final, dans la mesure où elles ressemblent à une table. Les principales différences entre une vue et une vue matérialisée sont les suivantes:
- Vue: contrairement à une vue matérialisée, une vue est toujours construite au moment de l’exécution, et les tables et les regroupements effectués à chaque appel de la vue. Une vue est également utile pour masquer des colonnes de données « sensibles ».
- Vue matérialisée: Contrairement à une vue, une vue matérialisée a une existence concrète, car les tables sont pré-jointes et les agrégations sont faites et les résultats de la requête sont stockés sur le disque. Les vues matérialisées diffèrent également des vues car elles sont « redondantes » et copiées à partir des tables de base. et par conséquent, ils ont besoin d’un mécanisme de rafraîchissement.
Table de comparaison
Vue | Vue matérialisée | |
---|---|---|
Stockage | Une vue n’est jamais stockée, elle est uniquement affichée. | Une vue matérialisée est stockée sur le disque. |
La vitesse | Traitement lent | Traitement rapide |
Définition | Vue est la table virtuelle formée à partir d’une ou plusieurs tables ou vues de base. | La vue matérialisée est une copie physique de la table de base. |
Mis à jour | La vue est mise à jour chaque fois que la table virtuelle (View) est utilisée. | La vue matérialisée doit être mise à jour manuellement ou à l’aide de déclencheurs. |
Utilisation de la mémoire | La vue ne nécessite pas d’espace mémoire. | La vue matérialisée utilise l’espace mémoire. |
Syntaxe pour créer une vue :
Create View V As ...
Syntaxe pour créer une vue matérialisée :
Create Materialized View V Build [clause] Refresh [clause] On [Trigger] As ...
Conclusion
Les vues sont essentiellement des structures logiques de type table remplies à la volée par une requête donnée. Les résultats d’une requête de vue ne sont stockés nulle part sur le disque et la vue est recréée chaque fois que la requête est exécutée. Les vues matérialisées sont des structures réelles stockées dans la base de données et écrites sur le disque. Ils sont mis à jour en fonction des paramètres définis lors de leur création.