Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Plea for Query Tuning Help

Re: Plea for Query Tuning Help

From: Juan Carlos Reyes Pacheco <juancarlosreyesp_at_gmail.com>
Date: Tue, 12 Sep 2006 12:38:32 -0400
Message-ID: <cd4305c10609120938u689a4aefj4ce4f3c998fda7a@mail.gmail.com>


Hi Did you tried
SELECT *
FROM NASTY_VIEW a,(SELECT id FROM my_table WHERE ROWNUM=1) b WHERE a.ID = b.id

There is an extreme and very rarely necessary trick, is to move the query you get from nasty_view to a temporary table and then do the other query. I do this when the optimizer start to get confused and the query is toooooo complex to analyze it, and I don-t have too much time to analyze complex queries :).

On 9/12/06, Charlotte Hammond <charlottejanehammond_at_yahoo.com> wrote:
>
> Hi all,
>
> I have a very complicated view, NASTY_VIEW.
>
> SELECT *
> FROM NASTY_VIEW
> WHERE ID = :bind
>
> This is fast (< 1 second). CBO cost = 400.
> Fantastic.
>
> However if I try
>
> SELECT *
> FROM NASTY_VIEW
> WHERE ID = (SELECT id FROM my_table WHERE ROWNUM=1)
>
> This takes "forever" (well >> hours). my_table is a
> simple table and id is the primary key. CBO cost =
> 22000. Not fantastic. (SELECT id FROM my_table WHERE
> ROWNUM=1) happens in the blink of an eye if run alone.
>
> The execution plans are very different and it looks as
> if Oracle has attempted to merge the subquery into the
> top-level select. Similar things happen if I use a
> join instead of a sub-query.
>
> How can I prevent this happening so that it "looks"
> like the first "fantastic" query? I've tried messing
> with hints (NO_MERGE and PUSH_SUBQ) but I don't know
> enough to do so effectively. Statistics are full and
> up to date. This is Oracle 9.2.0.6.
>
> Any suggestions would be greatfully received!
>
> Thank you
> Charlotte
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>

-- 
----------------------------------------
http://www.oracleboliviaspecialists.com/

Oracle Certified Profesional 9i 10g
Orace Certified Professional Developer 6i

10 years of experience from Oracle 7 to Oracle10g and developer 6i

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Sep 12 2006 - 11:38:32 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US