Archive for the ‘SQL Tuning’ Category

Using Bitmap Indexes Effectively

Thursday, May 29th, 2008

Recently I was reading this thread, "Trying to make use of bitmap indexes" on the Oracle Forum. Before I had finished a working example, Jonathan Lewis had posted his response which was on par with my thoughts. Since this is a topic I see frequently, I thought ...

There Is No Time Like ‘%NOW%’ To Use Dynamic Sampling

Wednesday, March 5th, 2008

I recently came across a query in which the Optimizer was making a poor cardinality estimate, which in turn caused inefficient join type, which in turn caused the query to run excessively long. This post is a reenactment of my troubleshooting. The Suspect SQL The original SQL was quite large ...

ANSI Outer Joins And Lateral Views

Monday, February 18th, 2008

A few months ago the Oracle Optimizer Team did a blog post entitled Outerjoins in Oracle. In the Lateral View section of that post they go through some examples and discuss how a query is transformed with the ANSI outer join syntax. I thought it would be useful ...

Oracle 11g: Real-Time SQL Monitoring Using DBMS_SQLTUNE.REPORT_SQL_MONITOR

Sunday, January 6th, 2008

Many times a DBA wants to know where a SQL statement is in its execution plan and where the time is being spent. There are a few ways to find out this information, but an 11g new feature makes gathering this information extremely easy. Oracle 11g Real-Time SQL Monitoring ...

What Are Your System Statistics?

Wednesday, January 2nd, 2008

I've been working on a few test cases and I'm in search of some real-world data. If your production Oracle database uses system statistics, either Workload Statistics or Noworkload Statistics, and you are willing to share them, please post a comment with the output from the following two ...

Troubleshooting Bad Execution Plans

Wednesday, November 21st, 2007

One of the most common performance issues DBAs encounter are bad execution plans. Many try to resolve bad executions plans by setting optimizer related parameters or even hidden underscore parameters. Some even try to decipher a long and complex 10053 trace in hopes to find an answer. ...

The Real-World Performance Group: Oracle OpenWorld 2007 Recap

Monday, November 19th, 2007

Oracle OpenWorld 2007 has come and gone and from the Real-World Performance Group's perspective we'd consider it a successful one. The content of this year's presentations seems to have gone over quite well as shown by the number of hallway comments and emails we received. At least two ...

Oracle 11g: Extended Statistics

Wednesday, October 31st, 2007

In the Real-World Performance Roundtable, Part 2: The Optimizer, Schema Statistics, SQL Tuning at Oracle OpenWorld 2006, I worked an example of how the optimizer can have difficulty estimating the correct cardinality when there is data correlation. (The Zodiac example can be found on pages 46-49 of the presentation.) ...