【发布时间】:2018-10-06 13:36:49
【问题描述】:
试图了解在 Redshift 中使用窗口函数时哪些性能更好
min(Case when colc='y' then val else Null end)
Over(partition by cola,order by colb rows BETWEEN CURRENT ROW and UNBOUNDED FOLLOWING)
或
first_value(Case when colc='y' then val else Null end)
Over(partition by cola order by colb rows BETWEEN CURRENT ROW and UNBOUNDED FOLLOWING)
从逻辑上讲,first_value 应该更快,但只是想确认是否有人做过 POC。
【问题讨论】:
-
首先,为什么它们要产生相等的输出?您按
colb订购但评估val列,因此first_value输出可能与min不同
标签: sql database amazon-redshift window-functions