Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: More info on sql query running slow
The query in itself seems quite well optimised in my opinion, although 30
seconds does seem quite long relative to what is possible.
What I do not understand is why the query uses the PCON_CMPY_FK index on the
PHY_CONTRACTS
table when that field (company_id) is not the obvious one to be queried. I
would have expected to see it using the PK
by searching on PHY_CONTRACT_ID.
Does a index on all 3 columns, in the same order as the query help matters?
John
-----Original Message-----
Sent: 20 March 2002 13:58
To: Multiple recipients of list ORACLE-L
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: Rick_Cale_at_teamhealth.com
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: 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).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Hallas John
INET: John.Hallas_at_o2.com
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: 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 Wed Mar 20 2002 - 08:34:22 CST
![]() |
![]() |