Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Higher Consistent Gets...
You don't quote a version of Oracle - which makes a difference to the ROWS column on the execution path.
However, I think you are seeing the extra I/O because Oracle is driving off the main table, then executing the subquery for each row returned - thus executing your 5 logical I/O many times. Ideally you would probably like Oracle to use the subquery to drive the main query.
You may be able to do this by converting the subquery into an inline view, and joining it (perhaps with an ORDERED hint) to the main query:
select /*+ ordered */
...
from
( select location_code from gn_location connect by prior location_code=parent_code start with location_code='3142' ) v fr_search_query pd
pd.location_code = v.location_code
and
etc.
Jonathan Lewis
http://www.jlcomp.demon.co.uk
Host to The Co-Operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html
Author of:
Practical Oracle 8i: Building Efficient Databases
Screen saver or Life saver: http://www.ud.com Use spare CPU to assist in cancer research.
-----Original Message-----
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
Date: 14 September 2001 18:10
|!! Please do not post Off Topic to this List !!
|
|Hi
|
|I am having problem with a query. This query fetches rows from a
table which
|has 15 million rows.
|
|The problem is, when I execute this query with subquery, the
consistent gets
|are 4700. Where us without the subquery the consistent gets are just
400. If
|I execute the subquery alone, the consistent gets are just 5.
|
|
|Here is the main query with subquery results in cons.gets of 4700:
|
|
|select pd.holiday_id holidayID, pd.package_number l_package_number,
| min(pd.tfr_price) l_tpr_price
| from fr_search_query pd
| where pd.departure_date between TO_DATE('06/10/2001','dd/mm/rrrr')
| and TO_DATE('13/10/2001','dd/mm/rrrr')
| and pd.location_code in (select location_code
| from gn_location
| connect by prior
location_code=parent_code
| start with location_code='3142')
| and ROWNUM < 301
| group by pd.holiday_id , pd.package_number
| order by pd.location_name, pd.location_code, pd.accom_unit_name,
| pd.accom_unit_code, pd.departure_date,
min(pd.adult_price)
|
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Jonathan Lewis INET: jonathan_at_jlcomp.demon.co.uk 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 Sat Sep 15 2001 - 04:22:42 CDT