With each version of the Oracle database the optimizer gets smart, handles more situations correctly and (usually) does a better job. But it gets more complex! And when it gets it wrong (and we all know at times it still gets it wrong!) it is now harder to know why.
What does the optimizer actually do and what information does it use? It is not all object statistics and hints.
In this talk I'll explain how the optimiser does what it does, where the statistics come in, some of the things that go wrong and how to spot them. If you don't know how the optimizer works, any fixes you apply are probably just lucky guesses. It is far quick and much more reliable to solve your SQL performance issues (as we all have them!) based on understanding.