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.
Requêtes de vue matérialisées
Vos 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, par exemple une table ou une vue standard.
Lorsqu’une requête accède à une vue matérialisée, elle ne voit que les données qui sont 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.
Si d’autres utilisateurs souhaitent interroger la vue matérialisée, le propriétaire de la vue matérialisée doit accorder l’autorisation SELECT à ces utilisateurs. Les autres utilisateurs n’ont pas besoin de l’autorisation SELECT sur les tables de base sous-jacentes. Le propriétaire de la vue matérialisée peut également révoquer l’autorisation SELECT pour les autres utilisateurs afin de les empêcher d’interroger la vue matérialisée. Notez que les autres utilisateurs ont toujours besoin de l'autorisation USAGE sur les schémas contenant les tables de base de la vue matérialisée.
Si le propriétaire de la vue matérialisée ne dispose plus de l'autorisation SELECT locale sur les tables de base sous-jacentes :
Le propriétaire ne peut plus interroger la vue matérialisée.
Les autres utilisateurs qui disposent de l’autorisation SELECT sur la vue matérialisée ne peuvent plus interroger la vue matérialisée.
Cela est limité aux autorisations locales. Les modifications des autorisations gérées par Lake Formation ne sont pas vérifiées lors de l'interrogation de la vue matérialisée. Cela signifie que si une table de base sous-jacente est gérée par Lake Formation et que certaines autorisations sur la table sont révoquées dans Lake Formation, vous pouvez toujours interroger la vue matérialisée.
L’exemple suivant interroge la vue matérialisée tickets_mv
. Pour plus d’informations sur la commande SQL utilisée pour créer une vue matérialisée, consultez CREATE MATERIALIZED VIEW.
SELECT sold
FROM tickets_mv
WHERE catgroup = 'Concerts';
Dans la mesure où les résultats de la requête sont précalculés, il n’est pas nécessaire d’accéder aux tables sous-jacentes (category
, event
et sales
). Amazon Redshift peut renvoyer les résultats directement depuis tickets_mv
.