This option controls whether simple local predicates are executed before query optimization.
ON or OFF
DBA permissions are not required to set this option. Can be set temporary, for an individual connection, or for the PUBLIC group. Takes effect immediately.
ON
If this option is ON (the default), the optimizer finds, prepares, and executes predicates containing only local columns and constraints before query optimization, including join ordering, join algorithm selection, and grouping algorithm selection, so that the values of “Estimated Result Rows” in the query plan are more precise. If this option is OFF, the optimizer finds and prepares the simple predicates, but does not execute them before query optimization. The resulting values of “Estimated Result Rows” are less precise, if the predicates are not executed.
In general, the EARLY_PREDICATE_EXECUTION option should always be left ON, as this results in improved query plans for many queries.
Note that when the EARLY_PREDICATE_EXECUTION option is ON, IQ executes the local predicates for all queries before generating a query plan, even when the NOEXEC option is ON. The generated query plan is the same as the runtime plan.
Query plan root node information The following information is included in the query plan for the root node:
Threads used for executing local invariant predicates: if greater than 1, indicates parallel execution of local invariant predicates
Early_Predicate_Execution: indicates if the option is OFF
Time of Cursor Creation: the time of cursor creation
Query plan leaf node information The simple predicates whose execution is controlled by this option are referred to as invariant predicates in the query plan.The following information is included in the query plan for a leaf node, if there are any local invariant predicates on the node:
Generated Post Invariant Predicate Rows: actual result after executing local invariant predicate
Estimated Post Invariant Predicate Rows: calculated by using estimated local invariant predicates selectivity
Time of Condition Start: starting time of the execution of local invariant predicates
Time of Condition Done: ending time of the execution of local invariant predicates
Elapsed Condition Time: elapsed time for executing local invariant predicates