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

Home -> Community -> Usenet -> c.d.o.server -> Re: OPT_ESTIMATE - Translate SEL$1 ...

Re: OPT_ESTIMATE - Translate SEL$1 ...

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Wed, 20 Sep 2006 22:02:49 +0100
Message-ID: <kOGdnc18M7jrMYzYRVnyhA@bt.com>

"Helio Dias" <heliovitorio_at_gmail.com> wrote in message news:1158757693.324259.246900_at_m7g2000cwm.googlegroups.com...
> Hi, i want to know how to identify the subquery block using SEL$1
> SEL$2 etc..
>
>
> OPT_ESTIMATE(@"SEL$1", TABLE, "R"@"SEL$1", SCALE_ROWS=0.00664262176)
> OPT_ESTIMATE(@"SEL$1", INDEX_FILTER, "R"@"SEL$1", PSAPSPRCSQUE,
> SCALE_ROWS=0.0001556864475)
> OPT_ESTIMATE(@"SEL$1", INDEX_SKIP_SCAN, "R"@"SEL$1", PSBPSPRCSQUE,
> SCALE_ROWS=2.784763486)
>
>
> 1238.pdf from Lewis (i had read)
>
> Thanks
>

If you want to make it easier to identify query blocks (10g for those who haven't seem them) you could you a qb_name() hint into every query block you write, and give every table an explicit alias.

The hint syntax is

    qb_name('xyz')

sel$1 is the internal name for the first select block, sel$2 the second, and so on. If you have a delete statement, you get query block names like del$1 and so on.

In some parts of an execution plan (10g) style you will also see reference to query block names produced during query transformation. These tend to be of the form

    sel$xxxxxxxx
where the xxxxxxxx is a hex number.

-- 
Regards

Jonathan Lewis
http://www.oracle.com/technology/community/oracle_ace/ace1.html#lewis

The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html

Cost Based Oracle: Fundamentals
http://www.jlcomp.demon.co.uk/cbo_book/ind_book.html
Received on Wed Sep 20 2006 - 16:02:49 CDT

Original text of this message

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