Chiappa, fazendo alguns testes aqui, percebi que o DBMS_GATHERER faz 
nada mais nada menos
que um ANALYZE:

analyze table "SGCOM"."ESTRUTURA_PRODUTOS_PROPOSTAS" COMPUTE statistics  
FOR TABLE FOR ALL INDEXES FOR ALL INDEXED COLUMNS SIZE 4;

Qual a diferença então de usar o analyze como eu tenho usado?

Abraços.
Thiago.


jlchiappa escreveu:

> --- Em oracle_br@yahoogrupos.com.br, Thiago Lazzarotto
> <[EMAIL PROTECTED]> escreveu
> >
> > Bom, vamos por partes.
>
> Vamos lá.
> > Nós fazemos coleta de estatísticas todas as noites.
>
> Tá, isso atende DESDE QUE vc faça realmente após as alterações : se
> vc coleta estats às 01:00h (digamos), e às 03:00h começa um monte de
> processos que fazem montes de DMLs logicamente essas stats ficarão
> FURADAS pro dia de amanhã...Estats devem ser coletadas SEMPRE que
> ocorrer um volume grande de DMLs.
>
> > Vou mudar essa noite e avaliar como o sistema vai se comportar.
>
> Como eu disse, CBO é tudo ou nada, OU se coleta pra todas OU dá furo.
> E ** atenção ** à essa coleta, eu recomendo que vc faça coleta full
> de tudo, TANTO tabelas quanto ÍNDICES, usando o
> dbms_stats.gather_table_stats, em paralelo se viável, como mostrei, E
> onde vc ache/saiba que há distribuição irregular.
> ==> E já tinha dito em outras msgs, torno a repetir : ** ANTES ** de
> mais nada, pra dar uma chance JUSTA pro CBO, vc TEM QUE ter setado
> corretamente o banco (principalmente sort_area_size, hash_area_size,
> parâmetros optimizer, enabled)... CBO sem esses  caras bem ajustados
> é FURO NA ÁGUA, praticamente SEMPRE. garbage in, garbage out ;)
> Isso é IMPORTANTÉRRIMO, não sei como explicitar mais isso.
>
> >
> > Como teste, eu coletei estatísticas de algumas tabelas envolvidas
> > em uma query específica. Ainda não consegui entender o porquê
> > se eu deleto as estatísticas de um índice em uma tabela que está
> > fazendo access full o banco começa a usar o índice e o custo diminui
> > drasticamente!
>
> PURA SORTE, eu diria : quando vc não tem estatísticas, o CBO faz
> PALPITEs, e por PURA SORTE o palpite dele deu certo. Isso indica,
> como eu falei, que as estats não estão sendo aproveitadas/ou não
> existem as adequadas (histogramas provavelmente), MAS nesse caso
> específico como eu disse no 8i , COM binds implica SEM uso de
> histogramas.
>
> >
> > Aí eu fico na dúvida de se devo ter estatísticas pra esse índice ou
> nao...
>
> Não tem dúvida, estats SEMPRE devem exisrtir, sem estats o CBO passa
> a chutar, e embora algumas vezes o chute até dê certo, muitas vezes
> não. Via de regra, estats sempre, e completas, com CBO bem ajustado,
> é o que oferece o melhor retorno.
>
> > Eu não gosto muito de usar HINTs pois prefiro que o banco escolha o
> melhor
> > caminho, afinal ele sempre avalia esse caminho e muda conforme as
> > estatísticas
> > mudam. Mas o que parece estar ocorrendo é que ele não está sabendo
> > qual o melhor caminho para seguir.
>
> É o que eu falei, o meu palpite é que haja distribuição irregular, E
> por ser 8i os histogramas não são usados com bind, num caso desses
> fica difícil pro CBO, aí nesse caso sim o hint pode ser uma das
> alternativas.
>
> >
> > Na minha query, por exemplo, com as estatísticas coletadas a query
> está
> > com custo 199.
> > Se deleto as estatísticas, fica com custo 66.
> > Se ao invés de deletar as estatísticas eu uso um hint para o
> índice, o
> > custo sobre 741.
>
> Vide acima.
>
> >
> > Para falar um pouco da configuração do banco, no caso que te passei
> > usamos o ERP JDEdwards, que só usa campos CHAR para strings e não
> possui
> > constrains a não ser as primary keys... é uma nhaca!
>
> Nhaca completa, mas em sendo sistema de terceiros aí muda um pouco a
> figura, antes de sair mexendo pra cima e pra baixo vale ** MUITO ** a
> pena vc checar com o Suporte do fornecedor, fatalmente eles vão ter
> recomendações próprias. Inclusive, iirc, a Oracle comprou esse cara,
> então o próprio Suporte da Oracle (tanto metalink quanto Suporte live
> via chamado) pode ter algo a respeito.
>
> > Ele foi criado assim porque é o padrão dele, mas já criamos muitas
> > tabelas com varchar2 e
> > não tem nenhum problema.
>
> Claro, problema de se criar VARCHAR dificilmente tem, só uma
> aplicação meio esquisitona é que ao invés de simplesmente fazer
> SELECT campo1, campo2 , antes checar o dicionário de dados pra ver se
> a coluna é CHAR ou não.
>
> > Estou estudando a possibilidade de migrar as colunas CHAR para
> VARCHAR2.
>
> A questão principal aí é que como eu disse os CHARs consomem espaço a
> mais.
>
> >
> > O tempo para analisar as tabelas da minha consulta foram poucos
> segundos
> > para cada uma.
>
> Então não tem conversa, estimate NUNCA pra todas.
>
> ==> Só uma obs a mais, ajustado banco, coletadas as estats, eu
> RECOMENDARIA que vc fizesse um trace 10053 em algumas queries
> significativas, no material que te indiquei tem papers mostrando os
> detalhes, essa é a ferramenta PRINCIPAL pra vc saber o que o CBO está
> fazendo, como está fazendo, que decisões ele tomou...
>
> []s
>
> Chiappa
>
>
>
>
>  





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



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a