When choosing an access path, the optimizer is influenced by the following:
- Optimizer hints: The optimizer's choice among available access paths can be overridden with hints. (Using hints requires changing the code)
- Statistics: For example, if a table has not been analyzed since it was created, and the table statistics show that it is small, then the optimizer uses a full table scan. The LAST_ANALYZED and BLOCKS columns in the ALL_TABLES table reflect the statistics used by the optimizer.
- SQL outlines, SQL baseline plans, and SQL profiles: If these exist they will override the optimizer choices. For more information see the SQL Performance Management lesson.