The following changes help improve the accuracy of optimizer costing and provide additional paths for query execution:
Transitive closure can be applied to joins.
Predicate factoring and transformation can improve costing for queries using or.
Special like optimization for leading wildcards in strings.
These features are described in Chapter 5, “Understanding the Query Optimizer,” in the Performance and Tuning Guide.