Les vues matérialisées stockent les résultats de requêtes précalculés, ce qui accélère la lecture par rapport à l'interrogation directe des tables de base. Utilisez-les dans vos requêtes SQL comme des tables ou des vues standard.
Prérequis
Seule l'autorisation SELECT sur la vue matérialisée est nécessaire. L'autorisation SELECT sur les tables de base référencées par la vue matérialisée n'est pas requise.
Pour accorder l'autorisation SELECT sur une vue matérialisée à un utilisateur, exécutez :
GRANT SELECT ON <mv_name> TO '<user>'@'%';
Remplacez <mv_name> par le nom de la vue matérialisée et <user> par le nom d'utilisateur cible.
Interroger une vue matérialisée
La syntaxe d'interrogation d'une vue matérialisée est identique à celle d'une table ou d'une vue standard. Les vues matérialisées prennent en charge toute la syntaxe SQL, y compris SELECT, INSERT INTO SELECT et WITH.
Exemple :
SELECT *
FROM adbview
WHERE device = 'PC'
AND city = 'Beijing';
Actualité des données
Les vues matérialisées stockent un instantané des données au moment de la dernière actualisation. Si les tables de base sont mises à jour après cette dernière actualisation, la vue matérialisée ne reflète pas ces modifications et les résultats de requête peuvent être obsolètes.
Pour obtenir les données les plus récentes, actualisez la vue matérialisée après chaque mise à jour des tables de base avant d'exécuter vos requêtes. Consultez la rubrique Actualiser une vue matérialisée.