14-10-2011, 06:51 PM
Il faut connaître plusieurs choses pour comprendre ce topic.
Une vue c'est quoi déjà ?
La réponse est ici : http://www.apprendre-php.com/tutoriels/t...-vues.html
Une vue matérialisée c'est quoi ?
La même chose qu'une vue sauf que le résultat de la vue est enregistrée dans une table, on peut ainsi avoir une requête très compliquée qui s'exécute aussi rapidement qu'un simple SELECT.
Si vous avez une requête très compliquée, avec des jointures, des group by, des sort, des sum, des avg, sur par exemple 500000 lignes, si ce n'est plus, elle peut prendre du temps à s'exécuter.
Une vue matérialisée peut donc se résumer à ça :
CREATE TABLE ma_vue AS SELECT BLA BLA BLA MA SUPER REQUETE SUPER LOURDE
Le problème, c'est lorsque les données changent, elles ne sont pas mis à jour dans cette table forcément.
Donc on peut reconstruire à chaque fois la vue entière, mais si on est sur des gros volumes, ça peut-être gênant car elle peut prendre 1h/2h à reconstruire.
Une vue matérialisée incrémentale va se rafraîchir de manière incrémentale, c'est à dire qu'elle ne va mettre à jour que ce qui a changé, donc la mise à jour est très rapide
Une vue c'est quoi déjà ?
La réponse est ici : http://www.apprendre-php.com/tutoriels/t...-vues.html
Une vue matérialisée c'est quoi ?
La même chose qu'une vue sauf que le résultat de la vue est enregistrée dans une table, on peut ainsi avoir une requête très compliquée qui s'exécute aussi rapidement qu'un simple SELECT.
Si vous avez une requête très compliquée, avec des jointures, des group by, des sort, des sum, des avg, sur par exemple 500000 lignes, si ce n'est plus, elle peut prendre du temps à s'exécuter.
Une vue matérialisée peut donc se résumer à ça :
CREATE TABLE ma_vue AS SELECT BLA BLA BLA MA SUPER REQUETE SUPER LOURDE
Le problème, c'est lorsque les données changent, elles ne sont pas mis à jour dans cette table forcément.
Donc on peut reconstruire à chaque fois la vue entière, mais si on est sur des gros volumes, ça peut-être gênant car elle peut prendre 1h/2h à reconstruire.
Une vue matérialisée incrémentale va se rafraîchir de manière incrémentale, c'est à dire qu'elle ne va mettre à jour que ce qui a changé, donc la mise à jour est très rapide