Leandro

Pelo que me lembro de um curso da versão 9i, isso daria um trabalho extra ao
Oracle: ele faria a coleta de estatísticas das tabelas que estivessem sem,
cada vez que executasse a consulta.

Mas nunca fiz testes sobre isso, nem procurei confirmação na documentação do
Oracle. Ok?

Se você encontrar uma confirmação (ou refutação), por favor, compartilhe
conosco.

[ ]

André


Em 19/04/07, leandrofff <[EMAIL PROTECTED]> escreveu:
>
>   de qualquer forma o otimizador será CHOOSE, porem sem estatistica ele
> executará como RULE, o que será a mesma coisa que colocar um HINT
> /*+RULE*/ na minha SELECT.
> A minha dúvida é que uma parte das tabelas tem estatistica e outra
> não. O que o Oracle faz?
> coleta estatistica para as demais tabelas envolvidas ou ignora as
> estatisticas e usa o otimizador com RULE?
>
> mesmo assim grato!
>
> --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>,
> Rodrigo Mufalani <[EMAIL PROTECTED]>
> escreveu
> >
> > Tire um trace da sessão onde a query é executada, com isso vai ter
> > mostrar a informação que vc deseja. Aqui abaixo um exemplo de trace
> > da instrução select count(*) from dual;
> >
> > ALTER SESSION SET SQL_TRACE = TRUE;
> >
> > SELECT COUNT(*)
> > FROM dual;
> >
> > ALTER SESSION SET SQL_TRACE = FALSE;
> >
> >
> >
>
> ********************************************************************************
> > count = number of times OCI procedure was executed
> > cpu = cpu time in seconds executing
> > elapsed = elapsed time in seconds executing
> > disk = number of physical reads of buffers from disk
> > query = number of buffers gotten for consistent read
> > current = number of buffers gotten in current mode (usually for update)
> > rows = number of rows processed by the fetch or execute call
> >
>
> ********************************************************************************
> >
> > SELECT COUNT(*)
> > FROM dual
> >
> > call count cpu elapsed disk query current rows
> > ------- ----- ----- ------- ------- ------- ------- -------
> > Parse 1 0.02 0.02 0 0 0 0
> > Execute 1 0.00 0.00 0 0 0 0
> > Fetch 2 0.00 0.00 0 1 4 1
> > ------- ----- ----- ------- ------- ------- ------- -------
> > total 4 0.02 0.02 0 1 4 1
> >
> > Misses in library cache during parse: 1
> > Optimizer goal: CHOOSE
> > Parsing user id: 121
> >
> > Rows Row Source Operation
> > ------- ---------------------------------------------------
> > 1 SORT AGGREGATE
> > 1 TABLE ACCESS FULL DUAL
> >
> >
> > No Oracle 9i, com o otimizador CHOOSE sem estatística coletada o banco
> > funciona como RULE.
> > Se em uma query que realiza junção de tabelas, por exemplo 5 tabelas
> > envolvidas, houver estatística coletada em duas tabelas e as demas sem
> > estatisticas qual otimizador o Oracle ira utilizar (CHOOSE ou RULE)?
> >
> >
> >
> >
> >
> ----------------------------------------------------------
> > Aqui na Oi Internet você ganha ou ganha. Além de acesso grátis com
> > qualidade, ganha contas ilimitadas de email com 1 giga cada uma. Ganha
> > espaço ilimitado para hospedar sua página pessoal. Ganha flog, suporte
> > grátis e muito mais. Baixe grátis o Discador em
> > http://www.oi.com.br/discador e comece a ganhar.
> >
> > Agora, se o seu negócio é voar na internet sem pagar uma fortuna,
> > assine Oi Internet banda larga e ganhe modem grátis. Clique em
> > http://www.oi.com.br/bandalarga e aproveite essa moleza!
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a