Predicates for special uses
You can use certain special predicates to influence access path selection for a query.
For example, you can use the following special predicates:
WHERE (COL1=? OR 0=1)
- The always-false
OR 0=1
condition has the following effects on the compound predicate:- Disables index access.
- Adds 0.04 to the estimated filter factor.
- Converts it to a non-Boolean predicate and disables certain query transformations, such as pushdown and transitive closure.
WHERE (COL1=? OR 0<>0)
- The always-false
OR 0<>0
condition has the following effects on the compound predicate:- Disables index access.
- Adds 0.96 to the estimated filter factor, which indicates the predicate has low selectivity.
- Converts it to a non-Boolean predicate and disables certain query transformations, such as pushdown and transitive closure.
WHERE COL1=?+0
- The
+0
is removed when the query is transformed, however the predicate is marked as not matching indexable. noncol-expr+0
noncol-expr-0
noncol-expr*1
noncol-expr/1
noncol-expr CONCAT blank-value
- These predicates disable index access.