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]