Amazon redshift 红移-基于列值拆分表

Amazon redshift 红移-基于列值拆分表,amazon-redshift,Amazon Redshift,我们有一个每日红移表,其中有500米的记录和这些字段 时间戳、事件名、事件值 我们需要一个查询,该查询将获取名称为“X”的所有事件,并将它们放入另一个红移表中 如果我们做一个简单的插入到。。。选择*where eventname=x,则性能非常糟糕(运行30分钟) 最好的方法是什么?通过将数据从原始表加载到S3并从S3复制到新表,您可能会看到性能的提高 通过卸载()将复制到S3: 通过Copy()从S3复制: EventName上是否有索引原始表和目标表是否分配了DISTKEY和SORTKEY?

我们有一个每日红移表,其中有500米的记录和这些字段 时间戳、事件名、事件值

我们需要一个查询,该查询将获取名称为“X”的所有事件,并将它们放入另一个红移表中

如果我们做一个简单的
插入到。。。选择*where eventname=x
,则性能非常糟糕(运行30分钟)


最好的方法是什么?

通过将数据从原始表加载到S3并从S3复制到新表,您可能会看到性能的提高

通过
卸载
()将复制到S3:

通过
Copy
()从S3复制


EventName上是否有索引原始表和目标表是否分配了DISTKEY和SORTKEY?两个表的值是否相同?(这可能有助于避免在节点之间复制数据。)500米记录中有多大比例的值为
X
?如果您在…中执行完整的
插入操作,请选择*
(其中没有
),它是否运行得更快?
unload ('select * from t1 where eventname = x') to 's3://bucket/t' credentials '' gzip;
copy t2 from 's3://bucket/t' credentials '' gzip;