You may want to review Oracle Metalink Note:276877.1.
Subject: How the performance of the query is influenced by its predicate order.
According to the article:
Some of the things that influence the order of application of the predicates are:
- Their position in the WHERE clause.
- The kind of operators involved
- Automatic Datatype conversion.
- The presence of bind variables
- Joins
- The optimizer mode (Rule or Cost)
- The cost model (IO or CPU)
- The Query Rewrite feature
- Distributed operations
- View merging
- Query Un-nesting
- Other Documented and Undocumented Parameters
- Hints
From the Document that SEM references:
If you do not use the ORDERED_PREDICATES hint, then Oracle evaluates all predicates in the following order:
Predicates without user-defined functions, type methods, or subqueries are evaluated first, in the order specified in the WHERE clause.
Predicates with user-defined functions and type methods that have user-computed costs are evaluated next, in increasing order of their cost.
Predicates with user-defined functions and type methods without user-computed costs are evaluated next, in the order specified in the WHERE clause.
Predicates not specified in the WHERE clause (for example, predicates transitively generated by the optimizer) are evaluated next.
Predicates with subqueries are evaluated last, in the order specified in the WHERE clause.