Création d’une table temporaire intermédiaire - Amazon Redshift

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.

Création d’une table temporaire intermédiaire

La table intermédiaire est une table temporaire qui contient toutes les données qui seront utilisées pour apporter des modifications à la table cible, mises à jour et insertions incluses.

Une opération de fusion nécessite une jointure entre la table intermédiaire et la table cible. Pour rassembler les lignes de la jointure, définissez la clé de distribution de la table intermédiaire avec la même colonne que la clé de distribution de la table cible. Par exemple, si la table cible utilise une colonne de clé étrangère comme clé de distribution, utilisez la même colonne pour la clé de distribution de la table intermédiaire. Si vous créez la table intermédiaire à l’aide d’une instruction CREATE TABLE LIKE, la table intermédiaire hérite de la clé de distribution de la table parent. Si vous utilisez une instruction CREATE TABLE AS, la nouvelle table n'hérite pas de la clé de distribution. Pour plus d’informations, consultez Distribution des données pour l'optimisation des requêtes.

Si la clé de distribution n’est pas la même que la clé primaire et que la clé de distribution n’est pas mise à jour dans le cadre de l’opération de fusion, ajoutez un prédicat de jointure redondant sur les colonnes de clé de distribution pour permettre une jointure colocalisée. Par exemple :

where target.primarykey = stage.primarykey and target.distkey = stage.distkey

Pour vérifier que la requête utilisera une jointure colocalisée, exécutez la requête avec EXPLAIN et recherchez DS_ DIST _ NONE sur toutes les jointures. Pour plus d’informations, consultez Évaluation du plan de requête.