Reader small image

You're reading from  Oracle Database 11gR2 Performance Tuning Cookbook

Product typeBook
Published inJan 2012
Reading LevelIntermediate
PublisherPackt
ISBN-139781849682602
Edition1st Edition
Languages
Right arrow
Author (1)
Ciro Fiorillo
Ciro Fiorillo
author image
Ciro Fiorillo

Ciro Fiorillo is an IT professional and consultant with experience of more than a decade in different roles (developer, analyst, DBA, project manager, data and software architect) among software industries. He has worked on different technologies and architectures, such as Oracle, SQL Server, Delphi, C# and .NET Framework, C/C++, Java, PHP, COBOL, Fortran, and Tibco. Ciro is currently employed as Lead Software and Data Architect with FinWin Srl, a software house specializing in banking and loans applications. As a freelancer he writes articles for websites and printed magazines about software and computing, participates in workshops, and teaches C++ and Fortran parallel programming with Intel Software tools. Ciro can be reached at ciro@cirofiorillo.com.
Read more about Ciro Fiorillo

Right arrow

Using histograms


In this recipe, we will see how to use histograms on tables to provide a detailed estimate of value distribution inside a column.

How to do it...

The following steps will show how to represent our data in the form of histograms:

  1. Connect to SH schema:

    CONNECT sh@TESTDB/sh
    
  2. Create the table TEST_HIST with some data from ALL_OBJECTS:

    CREATE TABLE sh.TEST_HIST AS
      SELECT
        ROWNUM AS ID,
        OBJECT_NAME AS NAME,
        MOD(ROWNUM, 10) AS FIELD1,
        TRUNC(MOD(ROWNUM, 10)/9) AS FIELD2
      FROM ALL_OBJECTS;
    
  3. Query for FIELD1 and FIELD2 values grouped to see the data distribution:

    SELECT FIELD1, COUNT(*)
    FROM TEST_HIST
    GROUP BY FIELD1 ORDER BY 1;
    
    SELECT FIELD2, COUNT(*)
    FROM TEST_HIST
    GROUP BY FIELD2 ORDER BY 1;
    
  4. Create histograms for column FIELD1 of the table TEST_HIST:

    EXEC DBMS_STATS.GATHER_TABLE_STATS (OWNNAME => 'SH', -
      TABNAME => 'TEST_HIST', -
      METHOD_OPT => 'FOR COLUMNS SIZE 10 FIELD1');
    
  5. Query USER_TAB_HISTOGRAMS to see the values stored in the histogram for FIELD1...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Oracle Database 11gR2 Performance Tuning Cookbook
Published in: Jan 2012Publisher: PacktISBN-13: 9781849682602

Author (1)

author image
Ciro Fiorillo

Ciro Fiorillo is an IT professional and consultant with experience of more than a decade in different roles (developer, analyst, DBA, project manager, data and software architect) among software industries. He has worked on different technologies and architectures, such as Oracle, SQL Server, Delphi, C# and .NET Framework, C/C++, Java, PHP, COBOL, Fortran, and Tibco. Ciro is currently employed as Lead Software and Data Architect with FinWin Srl, a software house specializing in banking and loans applications. As a freelancer he writes articles for websites and printed magazines about software and computing, participates in workshops, and teaches C++ and Fortran parallel programming with Intel Software tools. Ciro can be reached at ciro@cirofiorillo.com.
Read more about Ciro Fiorillo