| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Indexes ignored
SELECT DISTINCT OFFICE_PHN_SRCH.OFFICE_ID, OFFICE_PHN_SRCH.NAME FROM OFFICE_PHN_SRCH WHERE ( UPPER( OFFICE_PHN_SRCH.NBR ) = '7072247700' ) This query takes ~10 seconds to return a result. I would like to make it faster.
I have a combination of views that result in this plan. I have put reverse indexes on all the foreign keys joining these tables. How do I force the use of indexes.
SELECT STATEMENT, GOAL = CHOOSE 1017297 18641435 1174410405 SORT UNIQUE 1017297 18641435 1174410405
HASH JOIN OUTER 211353 30383296
1428014912
MERGE JOIN CARTESIAN 72982 30383296
941882176
VIEW FIT_DBA 2 164 492
UNION-ALL
TABLE ACCESS FULL SYS DUAL 1 82
TABLE ACCESS FULL SYS DUAL 1 82
SORT JOIN 72982 185264
5187392
TABLE ACCESS FULL FIT_DBA OFFICE 445 185264
5187392
VIEW FIT_DBA OFFICE_SRCH_OFFICE_PHN 62 33780 540480
HASH JOIN 62 33780 776940
TABLE ACCESS FULL FIT_DBA PHN 12 24437 366555
TABLE ACCESS FULL FIT_DBA OFFICE_PHN 25 33780 270240
VIEW FIT_DBA OFFICE_SRCH_ROLE_PHN 25 157 2512
HASH JOIN 25 157 4867
HASH JOIN 12 157 2512
TABLE ACCESS FULL FIT_DBA ROLE_PHN 1 157 1256
TABLE ACCESS FULL FIT_DBA OFFICE_ROLE 10 16105 128840
TABLE ACCESS FULL FIT_DBA PHN 12 24437 366555
The schema looks like this
OFFICE.OFFICE_ID PK
OFFICE_ROLE.OFFICE_ID FK to OFFICE (Reverse Index ) OFFICE.ROLE.ROLE_ID (Reverse Index ) ROLE_PHN.ROLE_ID (Reverse Index ) ROLE_PHN.PHN_ID FK to PHN (Reverse Index ) PHN.PHN_ID (Reverse Index ) OFFICE_PHN.OFFICE_ID FK to OFFICE (Reverse Index ) OFFICE_PHN.PHN_ID FK to PHN (Reverse Index ) PHN.PHN_ID PK
Thanks for any help.
-- Jim Poe Fulcrum InteTech, Inc. <jpoe_at_fulcrumit.com>Received on Fri Jul 12 2002 - 19:57:38 CDT
![]() |
![]() |