Creación de una tabla provisional temporal - Amazon Redshift

Creación de una tabla provisional temporal

La tabla provisional es una tabla temporal que tiene todos los datos que se usarán para hacer los cambios en la tabla de destino, incluidas las actualizaciones e inserciones.

Una operación de fusión requiere una combinación entre la tabla provisional y la tabla destino. Para colocar las filas de combinación, establezca la clave de distribución de la tabla provisional en la misma columna que la clave de distribución de la tabla destino. Por ejemplo, si la tabla destino usa una columna de clave externa como su clave de distribución, use la misma columna para la clave de distribución de la tabla provisional. Si crea la tabla provisional mediante una instrucción CREATE TABLE LIKE, la tabla provisional heredará la clave de distribución de la tabla principal. Si usa una instrucción CREATE TABLE AS, la tabla nueva no hereda la clave de distribución. Para obtener más información, consulte Distribución de datos para la optimización de consultas

Si la clave de distribución no es igual a la clave primaria y si no se actualiza como parte de la operación de fusión, agregue un predicado de combinación redundante en las columnas de la clave de distribución para permitir una combinación colocada. Por ejemplo:

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

Para corroborar que la consulta usará una combinación colocada, ejecute la consulta con EXPLAIN y, luego, controle la presencia de DS_DIST_NONE en todas las combinaciones. Para obtener más información, consulte Evaluación del plan de consulta