Thursday, 24 May 2007


I've significantly tidied up and updated the page on cardinality, correcting a few things I noticed, but generally expanding on a few things, making it more consistent with the other pages.

I've also corrected an erroneous link to the old "gathering stats" page that I removed a while ago, but it was part of the whole tidy up exercise anyway.

I've also added a "useful links" section (which i've tended to do on a lot of the newer / updated pages). I find further information links very useful on other sites, and I assume that other people do to.

Monday, 21 May 2007

On SQL_TRACE et al.

Back again for another day of site maintenance and blogging.

This time, I'm still on the SQL Tracing page, extending it and making it much better and easier to follow. I've extended the section on AUTOTRACE, expanding on a few things, and (thanks to Yasin Baskan for this) including something I'd forgotten, which is that setting AUTOTRACE ON (or any setting which generates statistics, this doesn't include SET AUTOTRACE TRACEONLY EXPLAIN, of course) generates an "extra" session which is used to maintain the statistics for the "main" session, i.e. the one you executed the query in, which, as Yasin rightly points out, can itself offer SQL performance challenges.

I've also expanded on the DBMS_XPLAN bit, putting in how to utilise a seperate plan table from

Hopefully, I'll get around to reviewing the Cardinality page later, that's another page that needs a little bit of attention.

Saturday, 19 May 2007

Some significant changes......

Quite a few changes tonight. Added a minor section to the page about NULL on the obvious omission that you can't search for NULL using LIKE. The most major change is that i've amalgamated the page on EXPLAIN PLAN and on SQL tuning into one page now called "SQL tracing". I've also tidied the information up and elaborated further on certain points, such as DBMS_XPLAN and 10046 event analysis (with and without DBMS_MONITOR).

Observant people may also have noticed that i've removed the section on PL/SQL tuning. It was fairly obvious information (and in some ways outdated since it was written a while ago), so it went. I will repost the information on using DBMS_PROFILER and DBMS_TRACE some time, I'm going to substantially rewrite it, but for the moment, it's gone. If you still want the information that was on there, give me an email.