Aller au contenu

Vue matérialisée

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 20 avril 2020 à 19:30 et modifiée en dernier par Xqbot (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

En informatique, dans les systèmes de gestion de base de données de type relationnel, une vue est une table virtuelle représentant le résultat d’une requête sur la base. Comme son nom l'indique et à la différence d'une vue standard, dans une vue matérialisée les données sont dupliquées. On l’utilise essentiellement à des fins d'optimisation et de performance dans le cas où la requête associée est particulièrement complexe ou lourde, ou pour faire des réplications de table.

La fraîcheur des données de la vue matérialisée dépend des options choisies lors de sa création. Le décalage entre les données de la table maître et la vue matérialisée peut être nul (rafraîchissement synchrone) ou d'une durée planifiée : heure, jour, etc. Suivant le contexte il existe différents types de vue matérialisée possibles : sur clé primaire, rowid (identifiant unique des tuples), et plus ou moins complexes : avec fonctions d'agrégation, sous-requêtes, jointures, etc.

Exemples

  • Syntaxe minimale pour la création d'une vue matérialisée sous Oracle :
CREATE MATERIALIZED VIEW MV1
AS SELECT Col1, Col2, [...], Coln FROM scott.emp


  • Requête de création d'une vue matérialisée avec précision de la fréquence de rafraichissement sous Oracle :
CREATE MATERIALIZED VIEW MV_UneVueMaterialisee
REFRESH FAST 
START WITH SYSDATE
NEXT SYSDATE + 1
AS SELECT Col1, Col2, [...], Coln FROM monSchema.MaTable;


  • Pour retrouver le select d'une vue matérialisée sous Oracle :
SELECT QUERY FROM ALL_MVIEWS
WHERE MVIEW_NAME='MV1'

Voir aussi

Sur les autres projets Wikimedia :