如何使用python函数提高对redshift表的大量更新的性能

时间:2015-07-13 16:05:34

标签: python amazon-web-services

我有一个相当大的红移表,大约有2亿条记录。我想使用用户定义的python函数更新其中一列中的值。如果我在EC2实例中运行该函数,则会导致对表进行数百万次更新,而且速度非常慢。我有更好的流程加快这些更新吗?

1 个答案:

答案 0 :(得分:0)

与基于行的系统(理想的事务处理)不同,基于列的系统(Redshift)是数据仓库和分析的理想选择,其中查询通常涉及在大型数据集上执行的聚合。由于只处理查询中涉及的列,并且列数据按顺序存储在存储介质上,因此基于列的系统需要的I / O要少得多,从而大大提高了查询性能。

在您的示例中,您可以执行单个update

而不是执行多个单独的update .. set.. from ... where ....命令