MySQL et les vues matérialisées

le 13/05/2008 à 23:24
MySQL et les vues matérialisées
Les vues matérialisées sont des vues SQL, qui sont stockées physiquement par la base. Les vues actuelles sont des vues dynamiques, c'est à dire qu'elles se basent sur une exécution de la requête sous-jacente à chaque utilisation. Si les données des tables ne changent pas trop souvent, avoir un système de cache donne une belle accélération.

Les vues matérialisées sont disponibles chez Oracle et DB2. Pour MySQL, rien de standard, mais il doit être possible de s'en sortir avec des tables en mémoire, et le programmateur d'événements.

- MySQL and Materialized Views
- Indexed Views Basics in SQL Server 2000

A lire également

Justin Swanhart publie Flexviews, des vues matérialisées pour MySQL, basée sur des procédures stockées. Ce sont des vues qui sont réellement enregistrées sur le disque, et non pas générées à chaque sollicitations. L'avantage est de bénéficier des capacités d'indexation des vraies tables, et l'inconvénient est de devoir faire la mise à jour de la table.

C'est là que Flexviews intervient : avec quelques procédures stockées, Justin a mis en place des outils pour mettre à jour la table. Les méthodes de mise à jour sont COMPLETE, qui remplace la table existante par une nouvelle, et INCREMENTAL, qui est capable de faire une petite mise à jour, sans tout recalculer. Les coûts de mises à jour peuvent être assez élevé, mais les gains de performances pour les lectures sont nettement plus importants.

- Flexviews-1.0.2-alpha released
- Flexviews
- Flexviews - A performance overview (incremental refresh is 30x faster!)

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours