TABLE DE CACHE - AWS Clean Rooms

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.

TABLE DE CACHE

La commande CACHE TABLE met en cache les données d'une table existante ou crée et met en cache une nouvelle table contenant les résultats des requêtes.

Note

Les données mises en cache sont conservées pendant toute la durée de la requête.

La syntaxe, les arguments et quelques exemples proviennent de la référence SQL d'Apache Spark.

Syntaxe

La commande CACHE TABLE prend en charge trois modèles de syntaxe :

Avec AS (sans parenthèses) : crée et met en cache une nouvelle table en fonction des résultats de la requête.

CACHE TABLE cache_table_identifier AS query;

Avec AS et parenthèses : fonctionne de la même manière que la première syntaxe mais utilise des parenthèses pour regrouper explicitement la requête.

CACHE TABLE cache_table_identifier AS ( query );

Sans AS : met en cache une table existante à l'aide de l'instruction SELECT pour filtrer les lignes à mettre en cache.

CACHE TABLE cache_table_identifier query;

Où :

  • Toutes les instructions doivent se terminer par un point-virgule (;)

  • queryest généralement une instruction SELECT

  • Les parenthèses autour de la requête sont facultatives avec AS

  • Le mot clé AS est facultatif

Paramètres

identificateur de table de cache

Nom de la table mise en cache. Peut inclure un qualificatif de nom de base de données facultatif.

EN TANT QUE

Mot-clé utilisé lors de la création et de la mise en cache d'une nouvelle table à partir des résultats d'une requête.

query

Une instruction SELECT ou une autre requête qui définit les données à mettre en cache.

Exemples

Dans les exemples suivants, la table mise en cache est conservée pendant toute la durée de la requête. Après la mise en cache, les requêtes suivantes faisant référence cache_table_identifier seront lues à partir de la version mise en cache plutôt que de recalculer ou de lire à partir de celle-ci. sourceTable Cela peut améliorer les performances des requêtes pour les données fréquemment consultées.

Création et mise en cache d'une table filtrée à partir des résultats de requête

Le premier exemple montre comment créer et mettre en cache une nouvelle table à partir des résultats d'une requête. Cette commande utilise le AS mot clé sans parenthèses autour de l'SELECTinstruction. Il crée une nouvelle table nommée « cache_table_identifier » contenant uniquement les lignes de « sourceTable » dont le statut est « »active'. Il exécute la requête, stocke les résultats dans la nouvelle table et met en cache le contenu de la nouvelle table. Le « sourceTable » d'origine reste inchangé, et les requêtes suivantes doivent faire référence à « cache_table_identifier » pour utiliser les données mises en cache.

CACHE TABLE cache_table_identifier AS SELECT * FROM sourceTable WHERE status = 'active';

Mettre en cache les résultats des requêtes avec des instructions SELECT entre parenthèses

Le deuxième exemple montre comment mettre en cache les résultats d'une requête sous la forme d'une nouvelle table portant le nom spécifié (cache_table_identifier), en plaçant l'SELECTinstruction entre parenthèses. Cette commande crée une nouvelle table nommée « cache_table_identifier » contenant uniquement les lignes de « sourceTable » dont le statut est « »active'. Il exécute la requête, stocke les résultats dans la nouvelle table et met en cache le contenu de la nouvelle table. Le « sourceTable » original reste inchangé. Les requêtes suivantes doivent faire référence à cache_table_identifier « » pour utiliser les données mises en cache.

CACHE TABLE cache_table_identifier AS ( SELECT * FROM sourceTable WHERE status = 'active' );

Mettre en cache une table existante avec des conditions de filtre

Le troisième exemple montre comment mettre en cache une table existante en utilisant une syntaxe différente. Cette syntaxe, qui omet le mot clé « AS » et les parenthèses, met généralement en cache les lignes spécifiées dans une table existante nommée « cache_table_identifier » plutôt que de créer une nouvelle table. L'SELECTinstruction agit comme un filtre pour déterminer les lignes à mettre en cache.

Note

Le comportement exact de cette syntaxe varie selon les systèmes de base de données. Vérifiez toujours la syntaxe correcte pour votre AWS service spécifique.

CACHE TABLE cache_table_identifier SELECT * FROM sourceTable WHERE status = 'active';