Mysql
 sql >> Base de données >  >> RDS >> Mysql

Méthode préférée pour les vues matérialisées (tableaux récapitulatifs) avec MySQL

Flexviews (http://flexvie.ws) est un projet open source basé sur PHP/MySQL. Flexviews ajoute des vues matérialisées actualisables de manière incrémentielle (comme les vues matérialisées d'Oracle) à MySQL, en utilisant PHP et des procédures stockées.

Il comprend FlexCDC, un utilitaire de capture de données de modification basé sur PHP qui lit les journaux binaires, et les procédures stockées Flexviews MySQL qui sont utilisées pour définir et maintenir les vues.

Flexviews prend en charge les jointures (jointure interne uniquement) et l'agrégation afin de pouvoir être utilisé pour créer des tableaux récapitulatifs. De plus, vous pouvez utiliser Flexviews en combinaison avec le concepteur d'agrégation de Mondrian (un serveur ROLAP) pour créer des tableaux récapitulatifs que l'outil ROLAP peut utiliser automatiquement.

Si vous n'avez pas accès aux journaux (il peut les lire à distance, vous n'avez donc pas besoin d'un accès au serveur, mais vous avez besoin de SUPER privs), vous pouvez utiliser l'actualisation "COMPLETE" avec Flexviews. Cela automatise la création d'une nouvelle table avec 'CREATE TABLE ... AS SELECT' sous un nouveau nom de table. Il utilise ensuite RENAME TABLE pour échanger la nouvelle table contre celle-ci, en renommant l'ancienne avec un suffixe _old. Enfin, il laisse tomber l'ancienne table. L'avantage ici est que le SQL pour créer la vue est stocké dans la base de données (flexviews.mview) et peut être actualisé avec un simple appel API qui automatise le processus d'échange.