Hi

Only 928 records satisfy flag set ot 'Y'. Unfortuneately they have standard
edition which does not support bitmap indexes.  I did create an index on
hold_payment_flag in my test database and the cost went from 3347 to 413.
Time went from 38 seconds to 1 second.  I will have to see what production
does and weigh cost of adding a extra index.

Thanks
Rick


                                                                                       
                            
                    ��� �����                                                          
                            
                    <adary@mehish        To:     Multiple recipients of list ORACLE-L 
<[EMAIL PROTECTED]>       
                    .co.il>              cc:                                           
                            
                    Sent by:             Subject:     RE: More info on sql query 
running slow                      
                    root@fatcity.                                                      
                            
                    com                                                                
                            
                                                                                       
                            
                                                                                       
                            
                    03/20/2002                                                         
                            
                    09:38 AM                                                           
                            
                    Please                                                             
                            
                    respond to                                                         
                            
                    ORACLE-L                                                           
                            
                                                                                       
                            
                                                                                       
                            




Hello Rick

How many records satisfy the selection without referring to the
hold_payment_flag?
How many of those have the flag set to 'y'?
Are your indexes bitmaps or regular?

Of the top of my head I will build bitmap indexes for all the fields,
including hold_payment_flag.

Yechiel Adar, Mehish Computer Services
[EMAIL PROTECTED]

> -----Original Message-----
> From:         [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]]
> Sent:         Wed, March 20, 2002 3:58 PM
> To:           Multiple recipients of list ORACLE-L
> Subject:           More info on sql query running slow
>
> Hi All,
> Oracle 8.1.6
>
> I have 2 tables which have been analyzed. The query takes about 30+
> seconds
> to run.  If I run it many times it is faster as data gets loaded into
> buffer
> cache. I want to optimize when that is not the case.  All the fields in
> the
> query have a separate index created EXCEPT for
> ACCRUED_AND_PAID.hold_payment_flag.
>
> Phy_Contracts has 10,466 rows.
> Accrued_and_Paid has 820,919 rows.
>
> Here is output from explain plan
>
> SELECT STATEMENT   Cost = 1382
>   SORT AGGREGATE
>     NESTED LOOPS
>       TABLE ACCESS BY INDEX ROWID PHY_CONTRACTS
>         INDEX RANGE SCAN PCON_CMPY_FK
>       TABLE ACCESS BY INDEX ROWID ACCRUED_AND_PAID
>         INDEX RANGE SCAN ADPD_PCON_FK
>
> Any ideas what I can do to speed this query.
>
> SELECT   COUNT(a.phy_contract_id)
> FROM     accrued_and_paid a, phy_contracts b
> WHERE    a.hold_payment_flag = 'Y'
> AND      b.phy_contract_id   = a.phy_contract_id
> AND      b.company_id        = 16
> AND      b.contract_type     = 'IC';
>
> List of single column index on PHY_CONTRACTS
> INDEX_NAME                     COLUMN_NAME
> ------------------------------ ---------------------
> PCON_CONTRACT_TYPE_IDX         CONTRACT_TYPE
> PCON_CMPY_FK                   COMPANY_ID
> PCON_PK                        PHY_CONTRACT_ID
>
> List of single column index on ACCRUED_AND_PAID
> INDEX_NAME                     COLUMN_NAME
> ------------------------------ ------------------
> ADPD_PCON_FK                   PHY_CONTRACT_ID
>
>
> Thanks
> Rick
>
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> --
> Author:
>   INET: [EMAIL PROTECTED]
>
> Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
> San Diego, California        -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (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).

--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: =?iso-8859-8?Q?=E0=E3=F8_=E9=E7=E9=E0=EC?=
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).


��zǞ��}����ND��@Bm����
+i��r����h��DM��&�zך����\�aZ�(��׭Š�I��Ǭ�9��t�Q@_�|�9ӝRjp�z
jX����h���'�׫��ZqǬ���X�������DCTL������ka�ɚ�X��X��ǧu��1����,j�����k����r+rr���ׄ\�����)���Ѯ��v)�鞲Ơx�b)ܖ�^jX�y�'����x5%9,B��^�������X��X��*.�����ޭ騽�_�����ɩl�ǧv�^B�r��jw_��-����+��b�yb��.n�+���


Reply via email to