Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Interrogation de vues matérialisées
Lorsque vous interrogez une vue matérialisée, vous accédez directement aux données précalculées dans la vue matérialisée. Vous pouvez utiliser une vue matérialisée dans une requête SQL en référençant le nom de la vue matérialisée comme source de données, comme dans une table ou une vue standard.
Par exemple, considérez l'illustration de l'exemple de vue matérialisée mv_total_orders de la section Création de vues matérialisées de ce guide. Si vous souhaitez créer une requête pour mv_total_orders (qui renvoie une liste de clients dont les commandes totalisent plus de 500 USD), vous pouvez alors exécuter la requête standard suivante :
statement. SELECT c.cust_id, c.first_name, sum(o.amount) as total_amount FROM orders o JOIN customer c ON c.cust_id = o.customer_id GROUP BY c.cust_id, c.first_name HAVING sum(o.amount) > 500;
Cependant, la requête précédente n'est pas optimisée en termes de rapidité. Nous vous recommandons plutôt d'exécuter la requête suivante :
SELECT cust_id, first_name, total_amount FROM mv_total_orders WHERE total_amount > 500;
La requête recommandée est beaucoup plus rapide, dans la mesure où les résultats de la requête sont précalculés et qu'il n'est pas nécessaire d'accéder aux tables sous-jacentes (client et commande). Amazon Redshift peut renvoyer les résultats directement depuis mv_total_orders.
Important
Lorsqu'une requête accède à une vue matérialisée, elle ne voit que les données stockées dans la vue matérialisée actualisée la plus récemment. Par conséquent, la requête ne voit pas toujours toutes les dernières modifications des tables de base correspondantes de la vue matérialisée.