column-based algorithm for OverWindow
#22001
Labels
A-window-func
Area: Window function, OverWindow.
S-need-design
Status: A detailed design is needed before coding. Typically used for feat/refactor issues.
type/perf
Type: Performance.
Currently our
OverWindow
executor use a row-based algorithm, which calculate results for multiple window functions (with the samepartition by
andorder by
but possibly different window frames) in one iteration throught theWindowStates
structure, sliding the state row by row. It's possible to achieve better performance if we switch to column-based algorithm like what we do inHashAgg
, calculate one function call per iteration, feeding input withColumn
s instead of rows.The text was updated successfully, but these errors were encountered: