Sometimes it is useful to enforce a materialization of a subselect (or view or CTE) by adding an ORDER BY FALSE to it. Those cases include:
Late applied filter (see attached, pdf)
Replace global by local join (by enforcing a materialization of a subselect that is smaller than replication border [see replication-border-in-exasol-6-1] with local filters)
Manual precalculation of multiple usages of subselects, views, CTEs
Please be aware that materializations can cause a lot of temporary data if they are big which might result in block swapping and decrease thoughput
The attached documents show when a subselect, view or CTE needs to be materialized 01_Materializations.pdf
and a use case to improve performance 02_OptimizationExampleMaterialization.pdf
Those documents require some knowledge about profiling .
View full article