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
Top Contributors