The optimizer must determine how to access the data your SQL statements require. You formulate your statement and the optimizer, during a hard parse, figures out which operations should provide the data in the most effective way possible. Using statistics as the primary guide, the optimizer computes the cost of the possible alternatives first to access data and then to join multiple tables to get the final result set. The more you understand the different access and join methods the optimizer considers, the more likely you are to formulate your SQL to help the optimizer make the best choices. And, when the operation chosen by the optimizer doesn’t provide the performance you need, you can determine more accurately which operations would be more suited to produce the response times you want.