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
where
    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 <[EMAIL PROTECTED]>
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: [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).

Reply via email to