Today was the first day of UKOUG Tech13: 4 days about Oracle Technology. This year, 7 streams started today (3 last years). I also had a slot to give my presentation about the Optimizer behavior in 12c.
The day started with a little delay in registration: My collagues Pierre and Philippe were not correctly registered and didn’t get their badge right away, but everything was solved before the start of the sessions.
I had the first slot in one of the database stream. People present in the room were very interested and 1 hour is not enough when you want to discuss the way the optimizer works.
I hope people enjoyed it because I really appreciated the exchanges and questions. For details about what have been discussed, you can have a look on the blogs in the serie “Solving customer issues with the 12c Optimizer”, the last one will be available soon.
On the next session, Tony Hasler talks about how sometimes the Optimizer can get wrong. I agree with him that the optimizer is not omniscient and the way it works can produce bad execution plans because there are some pitfalls in the way the estimations are done.
At one moment, he showed two pieces of code returning the same data and asked which one is the best. What was really interesting is that to know which code is the best, you need to know what the data looks like. Each piece of code may be efficient with a special kind of data distribution.
To finish the day, I went to the session ‘10046 trace – Powerful or pointless in the real world’. It was a discussion where Neil Chandler was trying to convince us that learning from deeper traces is not necessary to be a good DBA whereas Martin Widlake was telling us the contrary.
In fact, I think the question remains open because most of the time, you can drive the database without having to go any deeper, but you need to know how it works to be able to perform an analysis when a problem happens. It depends on your job’s scope.
Stay tuned on the blog for next days at UKOUG Tech13!