Modifier les tables dynamiques existantes¶
Cette section décrit les modifications à apporter aux tables dynamiques existantes à l’aide de la commande ALTER DYNAMIC TABLE :
Modifier l’entrepôt ou la latence cible de vos tables dynamiques
Renommez, échangez ou ajoutez des clés de clustering à vos tables dynamiques
Modifier l’entrepôt ou la latence cible pour les tables dynamiques¶
Vous souhaiterez peut-être ajuster l’entrepôt de vos tables dynamiques pour des raisons de coût ou de performance. Pour plus d’informations, voir Coût de calcul et Comment les configurations de l’entrepôt affectent-elles les performances des tables dynamiques ?.
Vous pourriez vouloir ajuster la latence cible de votre table dynamique pour obtenir des données plus fraîches, réduire les coûts de calcul ou mieux vous aligner sur les intervalles d’actualisation des dépendances en amont. Pour plus d’informations, voir Comprendre la latence cible des tables dynamiques.
Pour modifier l’entrepôt ou la latence cible d’une table dynamique, utilisez la commande ALTER DYNAMIC TABLE. Par exemple :
-- Change the warehouse for my_dynamic_table to my_other_wh:
ALTER DYNAMIC TABLE my_dynamic_table SET
WAREHOUSE = my_other_wh;
-- Specify the downstream target lag for a dynamic table:
ALTER DYNAMIC TABLE my_dynamic_table SET
TARGET_LAG = DOWNSTREAM;
Renommer les tables dynamiques¶
Renommer une table dynamique peut s’avérer utile lorsque vos scripts ou applications reposent sur un nom de table spécifique et que vous souhaitez mettre à jour la table dynamique sans modifier votre script existant. Par exemple, si vous avez un script qui fait référence à une table dynamique spécifique, le fait de renommer la table vous permet de remplacer la table sous-jacente tout en conservant le script inchangé. Cela permet d’assurer la continuité et d’éviter les tracas liés à la mise à jour de références multiples dans les scripts ou les processus.
Pour renommer une table dynamique, utilisez la commande ALTER DYNAMIC TABLE … RENAME TO. Par exemple :
ALTER DYNAMIC TABLE my_dynamic_table RENAME TO my_new_dynamic_table;
Permutation des tables dynamiques¶
L’échange de tables dynamiques permet une transition transparente entre les ensembles de données ou les versions des tables sans perturber les flux de travail ni modifier les scripts dépendants. Par exemple, si vous développez une nouvelle version d’une table mais que vous souhaitez conserver le même nom pour les processus en cours, la permutation vous permet de remplacer l’ancienne table par la nouvelle. Cette approche garantit la continuité tout en permettant des mises à jour, des tests ou des mises à niveau avec un minimum de temps d’arrêt ou d’interruption.
Pour permuter une table dynamique, utilisez la commande ALTER DYNAMIC TABLE … SWAP WITH. Notez que vous ne pouvez permuter une table dynamique qu’avec une autre table dynamique.
Par exemple :
-- Swap my_dynamic_table with the my_new_dynamic_table:
ALTER DYNAMIC TABLE my_dynamic_table SWAP WITH my_new_dynamic_table;
Ajouter des clés de clustering aux tables dynamiques¶
L’ajout de clés de clustering aux tables dynamiques peut améliorer les performances en améliorant l’efficacité des requêtes et des opérations d’actualisation :
Efficacité des requêtes : les clés de clustering peuvent contribuer à accélérer les requêtes, comme pour les tables ordinaires, en se regroupant sur des clés de jointure ou des colonnes de filtre communes.
Opérations d’actualisation : les clés de clustering peuvent accélérer les actualisations si elles correspondent à des modèles de changements fréquents ; par exemple, le clustering par ID utilisateur peut être efficace lorsque vous avez des mises à jour où une poignée d’utilisateurs changent.
Les clés de clustering peuvent être spécifiées pour une table dynamique avec un mode d’actualisation incrémentielle ou complète. Dans le cas d’une actualisation complète, le clustering est effectué pendant l’actualisation et le reclustering en arrière-plan n’est pas nécessaire.
Pour mettre en cluster une table dynamique, utilisez la commande ALTER DYNAMIC TABLE … CLUSTER BY :
ALTER DYNAMIC TABLE my_dynamic_table CLUSTER BY (date);