Behavior of Execution Modes
Merge, Select and Partition execution modes are supported. If any value is there in the Optimization table, then the execution mode set in the Configuration table will be ignored and it follows a waterfall model as explained:
- With Rule Code - Checks if rule level execution mode is set. If it is not set, it checks for the next level.
- With Process Code - Checks if process level execution mode is set. If it is not set, it checks for the next level.
- With Run Code - Checks if run level execution mode is set. If it is not set, it checks for the next level, that is, QRY_OPT_EXEC_MODE parameter in the Configuration table.
- With Process Code (Process Execution) - Checks if process level execution mode is set. If it is not set, it checks for the next level.
- With Run Code - Checks if run level execution mode is set. If it is not set, it checks for the next level, that is, QRY_OPT_EXEC_MODE parameter in the Configuration table.
Consider an example where you have a Run definition (say Run1) with two rules (Rule1 and Rule 2). For Rule1, the execution mode is set as SELECT and Rule 2, it is not set. For Run1, the execution mode is set as PARTITION. In this case, Rule1 will be executed using Select query (as it is set in rule level) and Rule 2 will be executed using PARTITION query (as it is set in the Run level).