To quote Tom Kyte: "Autotrace lies".
http://asktom.oracle.com/pls/ask/f?p...31036568157622

http://asktom.oracle.com/pls/ask/f?p...:1560806455855

search for "autotrace lies"

Looking Beyond Execution Plans
The execution plan operation alone cannot differentiate between well-tuned statements and those that perform poorly. For example, an EXPLAIN PLAN output that shows that a statement uses an index does not necessarily mean that the statement runs efficiently. Sometimes indexes can be extremely inefficient. In this case, you should examine the following:

The columns of the index being used
Their selectivity (fraction of table being accessed)
It is best to use EXPLAIN PLAN to determine an access plan, and then later prove that it is the optimal plan through testing. When evaluating a plan, examine the statement's actual resource consumption. Use Oracle Trace or the SQL trace facility and TKPROF to examine individual SQL statement performance.

http://download-west.oracle.com/docs...x_plan.htm#838