SQL Window Functions: Performance, EXPLAIN, and Dialect Notes/Materialize an expensive intermediate result

Break a huge query into smaller stages.

Section: Performance patterns

Materialize an expensive intermediate result

sql
sql
CREATE TEMP TABLE recent_orders AS
SELECT *
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '1 year';
Explanation

Materialization can help when a complex join or filter should not be recomputed before the window stage.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Performance patterns
Inspect the plan with EXPLAIN
Start with the actual execution plan.
OpenIn sheetsqlsame section
Pre-filter rows before applying windows
Reduce the working set first.
OpenIn sheetsqlsame section
Create a supporting index for partition/order keys
Help the database read rows in the right order.
OpenIn sheetsqlsame section
QUALIFY shortcut in some warehouses
Filter window results without wrapping a subquery.
Portable alternative to QUALIFY
Use a subquery or CTE for broad compatibility.
Remember LAST_VALUE frame semantics
Default frames can make LAST_VALUE look broken.