

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
<a name="querying-materialized-views"></a>

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](creating-materialized-views.md) 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.