Archive for the ‘Execution Plans’ Category

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 ...

Oracle Optimizer Development Team Starts A Blog

Wednesday, December 5th, 2007

Since the introduction of the Cost Based Optimizer (CBO) in Oracle 7.0, people have been both fascinated and terrified by it and the statistics that feed it. There has long been a belief that a degree in witchcraft or black magic is required to successfully work with the CBO. ...

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.) ...

Bloom Filters

Tuesday, October 23rd, 2007

The other day I was reading the 11g Database VLDB and Partitioning Guide and came across the below execution plan for a partial partition-wise join between sales and customers. --------------------------------------------------------------------------- | Id | Operation ...

How to Display HIGH_VALUE/LOW_VALUE Columns from USER_TAB_COL_STATISTICS

Tuesday, October 16th, 2007

Here is some code to display the HIGH_VALUE/LOW_VALUE columns from USER_TAB_COL_STATISTICS which are stored as RAW datatypes. [sourcecode language='sql']create or replace function display_raw (rawval raw, type varchar2) return varchar2 is cn number; cv varchar2(32); cd ...

Oracle Analytic Functions

Friday, August 24th, 2007

Recently, I've been quite busy with performance projects and haven't had the spare time I would like to keep up on my blog. Now that those projects are behind me, I wanted to blog about the use of one feature that made a significant difference in performance on a ...