标签: postgresql common-table-expression amazon-redshift
对于具有多个表的复杂查询,哪种方法更好?公用表表达式或子查询?
答案 0 :(得分:1)
子查询比使用Common表表达式要好得多。当使用多个子查询而不是公共表表达式时,查询分析器将表现更好。
答案 1 :(得分:0)
但请注意,重写外连接比使用相关子查询要好得多。由于Redshift中没有索引,强制对每行数据进行子查询将导致非常昂贵的O(n 2 )操作。
答案 2 :(得分:0)
我会说临时表。在临时表中,您可以定义DIST KEY并控制性能。 CTE可能表现不佳