Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: low buffer hit ratio

Re: low buffer hit ratio

From: Stephane Faroult <sfaroult_at_oriole.com>
Date: Thu, 14 Nov 2002 23:58:41 -0800
Message-ID: <F001.00504000.20021114235841@fatcity.com>


Gurelei wrote:
>
> Hi.
>
> I found a query with a buffer hit ratio about 60%:
> SELECT b.Name, a.Racf, c.Manager, < fileds from STATS
> table>
> FROM BT.Stats a, BT.Employees b, BT.Employees c
> WHERE a.Stats_Date Between '13-Nov-02' and '13-Nov-02'
> and a.Manager = c.Manager and
> c.racf = 'RLEWI01' and b.Racf = a.Racf
> and ( Product='RTI' OR Product = 'RIM' ... or Product
> = 'WEB')
> Group by b.Name, a.Racf, c.Manager Order by b.Name
>
> Here is the plan under oracle 7.3.3 rbo:
>
> 1.0 SELECT STATEMENT (, , )
> 2.1 SORT GROUP BY (, , )
> 3.1 NESTED LOOPS (, , )
> 4.1 NESTED LOOPS (, , )
> 5.1 TABLE ACCESS BY ROWID EMPLOYEES (, , )
> 6.1 INDEX UNIQUE SCAN EMPLOYEES_PK (, , )
> 5.2 TABLE ACCESS BY ROWID STATS (, , )
> 6.1 INDEX RANGE SCAN STATS_FK2 (, , )
> 4.2 TABLE ACCESS BY ROWID EMPLOYEES (, , )
> 5.1 INDEX UNIQUE SCAN EMPLOYEES_PK (, , )
>
> The largest table is STATS - 1.6 mil rows. STATS_FK2
> is
> an index on MANAGER field. We have only 115 different
> managers so the index is not very selective. The
> stats_date field is more selective. Does it make sence
> for me to force Oracle to use that index in order to
> reduce the number of disk reads?
>
> thanks
>
> Gene
>

Gene,

   First reducing the number of disk reads doesn't necessarily means that it will run faster. Except in the case of fast index scans, index blocks are usually read one-at-a-time, while in a table scan you will read batches of several blocks. If you have for instance a large number of db_file_sequential_reads, then you may find that your query will perform better with a lesser index usage. It's then a matter of knowing where the data you want is. If it happens to be physically clustered, fine (I am using 'clustered' in the general sense here, not referring to Oracle clusters); if it scattered all over the place your query is likely to be painful to run ...
  Not knowing your data it's difficult to be specific but here are some general guide-lines:

Try different things.  

-- 
HTH,

Stephane Faroult
Oriole Software
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Stephane Faroult
  INET: sfaroult_at_oriole.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Fri Nov 15 2002 - 01:58:41 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US