Amazon Redshift:复杂查询的CTE或子查询?

时间:2015-02-07 17:08:12

标签: postgresql common-table-expression amazon-redshift

对于具有多个表的复杂查询,哪种方法更好?公用表表达式或子查询?

3 个答案:

答案 0 :(得分:1)

子查询比使用Common表表达式要好得多。当使用多个子查询而不是公共表表达式时,查询分析器将表现更好。

答案 1 :(得分:0)

但请注意,重写外连接比使用相关子查询要好得多。由于Redshift中没有索引,强制对每行数据进行子查询将导致非常昂贵的O(n 2 )操作。

答案 2 :(得分:0)

我会说临时表。在临时表中,您可以定义DIST KEY并控制性能。 CTE可能表现不佳