Database Reference
In-Depth Information
Les jointures entre employés et départements de ce lieu utiliseront la vue à la place des tables
d'une manière bien plus eficace. Pour les besoins d'une requête en particulier, des index
uniques ou non peuvent s'ajouter : CREATE INDEX … ON nom_vue ( colonne1 , colonne2 …) .
Un pari d'un million de dollars
En novembre 1998, Larry Ellison, le P.-D.G. d'Oracle (alors à la version 8i), lance un
déi à Microsoft formulé de la manière suivante : « Si vous arrivez à rendre SQL Server 7
100 fois plus rapide qu'Oracle, je vous donne un million de dollars… » Le test porte sur
un benchmark de l'organisme indépendant TPC (http://www.tpc.org/) et en particulier
sur la requête n° 5 du TPC-C.
Quelques mois plus tard, Microsoft présente sa solution, mais Larry Ellison, mauvais
joueur, sentant le vent tourner, a décidé de clore son pari de façon anticipée, s'écono-
misant ainsi son million… La solution de Microsoft était construite autour des vues
matérialisées !
http://indarticles.com/p/articles/mi_m0FOX/is_8_4/ai_54409926/
http://tutorials.beginners.co.uk/professional-sql-server-2000-programming-part-6-in-
dexed-materialized-views.htm
Le rafraîchissement
Le rafraîchissement incrémental évite de reconstruire la vue matérialisée entièrement. Cepen-
dant, ce mécanisme doit s'opérer relativement rapidement (à la demande ou périodiquement)
pour garantir l'intégrité des données. Chaque table est associée à un journal d'opérations
( materialized view log ) qui recense toutes les modiications effectuées sur la table.
Dans un contexte de réplication, les vues matérialisées permettent de maintenir sur une base
locale des copies de données distantes. Ces copies peuvent être modiiables (sous réserve que
le SGBD le permette, avec Oracle il s'agit de l'option Advanced Replication ).
Le rafraîchissement automatique nécessite de créer un journal d'opérations par table interrogée.
Les exemples suivants décrivent des vues matérialisées qui se mettront à jour automatique-
ment. La première vue (tous les employés) sera mise à jour dès que la table employees sera
modiiée. La deuxième (tous les départements) sera systématiquement actualisée tous les
lundis à 15 h.
Tableau 4-22 : Rafraîchissement automatique
Code SQL
Commentaire
Création.du.journal.des.opérations..
CREATE MATERIALIZED VIEW LOG ON hr.employees
WITH PRIMARY KEY, ROWID;
 
Search WWH ::




Custom Search