There are two kinds of optimizers:  Rule-Based Optimizer (RBO): RBO is utilized if the referenced objects do not keep any internal statistics.  Cost-Based Optimizer (CBO): If the referenced objects keep internal statistics, the CBO will examine all potential execution plans and choose the one with the lowest cost.