Trait to apply different join order policies like Replicates with filters first, then largest
colocated group, and finally non-colocated with filters, if any.
One can change the ordering policies as part of query hints and later can be admin provided
externally against a regex based query pattern.
e.g. select * from /*+ joinOrder(replicates+filters, non-colocated+filters) */ table1, table2
where ....
note: I think this should be at the query level instead of per select scope i.e. something like
/*+ joinOrder(replicates+filters, non-colocated+filters) */ select * from tab1, (select xx
from tab2, tab3 where ... ), tab4 where ...
Trait to apply different join order policies like Replicates with filters first, then largest colocated group, and finally non-colocated with filters, if any.
One can change the ordering policies as part of query hints and later can be admin provided externally against a regex based query pattern.
e.g. select * from /*+ joinOrder(replicates+filters, non-colocated+filters) */ table1, table2 where ....
note: I think this should be at the query level instead of per select scope i.e. something like /*+ joinOrder(replicates+filters, non-colocated+filters) */ select * from tab1, (select xx from tab2, tab3 where ... ), tab4 where ...