This is a blog about Oracle SQL Tuning.
It’s a vast subject and lots of blogs cover it, so what makes this one any different?
My goal, in writing this blog, is to create an organised body of information on tuning Oracle SQL. We’ll talk about concepts like Selectivity and Cardinality, look at tools, tips and techniques and cover things like optimizer parameters in a logical way. I aim to make sure you can always find the knowledge you need, quickly and easily. On the way we’ll spend a fair bit of time talking about one of my favorite tuning tools, SQLTXPLAIN, known to its friends as SQLT.
I love SQLT because it creates order out of chaos. It takes all the random information (which may even seem unrelated) from the SQL tuning world and creates a consistent whole which can then be explored in a structured and repeatable manner.
When you set out to solve a tuning problem you’re just like a doctor approaching a patient. The patient complains of an illness, but you have a whole body to examine, so you start with the basics.
Is the body actually ill or is it complaining unnecessary?
Are there any signs or symptoms which point to an underlying problem.
When it comes to Oracle SQL tuning, SQLT is the body and tuning problems are the disease or underlying condition.
Doctors learn by watching more experienced doctors as they examine patients, order tests and reach a diagnosis. You can learn about SQL Tuning in the same way. You’ve all learned how to collect trace files, get execution plans and so on, but just like a junior doctor you need to spend time on example cases; to see how the patient looks arrive at a diagnosis and work out a ‘cure’.
So, if you have an interesting patient (in the form of a SQLT report) send it to me! I’ll pick at least one every month and review it online as an example. I won’t reveal any data, except as is absolutely necessary to explain the case.
So that’s the aim of this blog, and that’s why this blog is different from all the other blogs on Oracle SQl Tuning. If you’re still reading, but you’re not sure where to begin, I’d suggest you start with What is SQLT. Thanks for reading!