Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

创建临时的暂存表

暂存表 是一个临时表,用来保存将用于对目标表 进行更改(包括更新和插入)的所有数据。

合并操作需要在暂存表和目标表之间建立联接。要并置联接行,请将暂存表的分配键的列设置为与目标表的分配键的列相同。例如,如果目标表使用一个外键列作为其分配键,则对暂存表的分配键使用相同的列。如果使用 CREATE TABLE LIKE 语句创建一个暂存表,则该暂存表将从父表继承分配键。如果使用 CREATE TABLE AS 语句,则新表不会继承分配键。有关更多信息,请参阅 选择数据分配方式

如果分配键与主键不相同且在合并操作中未更新分配键,则在分配键列上添加一个冗余联接谓词以启用并置联接。例如:

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

要验证查询是否将使用并置联接,请使用 EXPLAIN 运行查询并检查所有联接上是否有 DS_DIST_NONE。有关更多信息,请参阅 评估查询计划