Blog Navicat

Travailler avec les vues matérialisées de PostgreSQL 16 Février, 2024 par Robert Gravelle

Le tutoriel de la semaine dernière nous a guidés à travers la création de vues matérialisées dans PostgreSQL, en utilisant la DVD Rental Database comme exemple pratique. Comme nous l'avons appris, les vues matérialisées de PostgreSQL offrent un mécanisme puissant pour améliorer les performances des requêtes en pré-calculant et en stockant le résultat d'une requête sous forme de table physique. Le suivi d'aujourd'hui couvrira d'autres opérations pertinentes sur les vues matérialisées, telles que l'actualisation d'une vue, l'exécution de requêtes sur celle-ci, ainsi que la suppression d'une vue si vous n'en avez plus besoin. Comme dans l'article de blog précédent, nous passerons en revue les instructions DML ainsi que la manière d'obtenir le même résultat via l'interface graphique de Navicat.

Actualisation d'une vue matérialisée

Les données d'une vue matérialisée doivent être actualisées périodiquement pour refléter les modifications apportées aux tables sous-jacentes. Vous pouvez utiliser la commande suivante pour actualiser la vue matérialisée :

REFRESH MATERIALIZED VIEW mv_category_revenue;

Dans Navicat, nous pouvons actualiser et remplacer complètement le contenu d'une vue matérialisée en cliquant avec le bouton droit (ou en maintenant la touche contrôle et en cliquant sur macOS) sur la vue dans l'onglet Objets et en sélectionnant "Refresh Materialized View With" -> "Data" ou "No Data" dans le menu contextuel :

refresh_materialized_view (53K)

Requêter une vue matérialisée

Maintenant que nous avons notre vue matérialisée, nous pouvons la requêter comme n'importe quelle autre table :

SELECT * FROM mv_category_revenue;

Cette requête renverra les catégories de films avec leur revenu total, fournissant un moyen rapide et efficace d'obtenir cette information sans joindre plusieurs tables de manière répétée.

Dans Navicat, vous pouvez écrire une requête dans l'Éditeur de requêtes ou en utilisant l'outil Query Builder. Dans le cas de l'Éditeur de requêtes, la fonction d'autocomplétion reconnaîtra la vue matérialisée avec seulement quelques frappes sur le clavier !

materialized_view_in_autocomplete_list (62K)

Les vues matérialisées sont également incluses dans le volet Objets de Query Builder. Vous pouvez ajouter une vue matérialisée à la requête en la faisant glisser du volet Objets vers le volet Diagramme ou en double-cliquant dessus dans le volet Objets :

materialized_view_query (107K)

Suppression d'une vue matérialisée< /h1>

Si vous n'avez plus besoin d'une vue matérialisée, vous pouvez la supprimer avec la commande suivante :

DROP MATERIALIZED VIEW mv_category_revenue;

Il y a plusieurs façons de supprimer une vue matérialisée dans Navicat. La première est de :

  • Sélectionner "Materialized View" dans la barre d'outils de la fenêtre principale.
  • Ensuite, sélectionner la vue matérialisée que vous souhaitez supprimer dans la liste des objets. Cela activera plusieurs boutons sur la barre d'outils des objets, y compris le bouton "Delete Materialized View" :

    delete_materialized_view_button (63K)

  • Cliquer sur le bouton "Delete Materialized View" fera apparaître une invite de dialogue où vous pourrez confirmer que vous souhaitez vraiment supprimer la vue matérialisée sélectionnée.

La deuxième façon de supprimer une vue matérialisée dans Navicat est de cliquer avec le bouton droit (ou de maintenir la touche contrôle en cliquant sur macOS) dans le volet de navigation de la fenêtre principale ou dans la liste des objets et de sélectionner "Delete Materialized View" dans le menu contextuel :

delete_materialized_view_menu_command (40K)

Conclusion

Dans ce tutoriel, nous avons appris comment exécuter certaines opérations pertinentes sur les vues matérialisées, y compris l'actualisation d'une vue, l'exécution de requêtes sur celle-ci, ainsi que la suppression d'une vue. Dans chaque cas, nous avons couvert à la fois les instructions DML ainsi que la manière d'obtenir le même résultat via l'interface graphique de Navicat.

Partager
Archives du blog