É verdade, mas deixe-me detalhar um pouco mais : quando vc não informa os 
parâmetros todos para a GATHER_TABLE_STATS, o que vai acontecer NÃO É que vc 
terá uma "perda" de precisão : o que acontecerá é que se vc não informar 
precisamente o que quer os DEFAULTs entram em ação , e esses defaults :

a) MUDAM cfrme a release do banco, o valor que era default no 9i NÂO 
NECESSARIAMENTE se manteve no 10g 

b) podem ter sido alterados na sua instalação, via DBMS própria

c) nos releases onde o default é coletar histograma (a partir do 10, iirc) , 
como vc não informou o tamanho (quantidade de amostras) nem em quais colunas vc 
quer a coleta, será usado um algoritmo "automático", onde o banco vai ESTIMAR o 
tamanho e vai CHUTAR quais colunas


então mais do que perda de precisão, vc passa a ter INCERTEZAS... Talvez num 
banco MUITO simples/pequeno/pouco exigente esses defaults e algoritmos auto 
funcionem, mas isso não é regra..
 Então sim, pra mim o correto é vc sim vc indicar para QUAIS colunas vc quer 
histogramas (no seu exemplo vc o fez via INDEXED COLUMNS, mas poderia dar a 
lista de colunas diretamente se quisesse) e QUAL O TAMANHO do seu histograma 
(que no exemplo vc indicou com SIZE 4)... Notar que tanto as colunas quanto o 
tamanho NECESSARIAMENTE TEM QUE VIR da sua análise, só VOCÊ que conhece o 
ambiente, os dados, a distribuição deles, é que pode precisar isso, esse 4 pode 
ser o valor CORRETO, ou pode ser pouco OU pode ser muito....

[]s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Alex Oracle <alex80.li...@...> escreveu
>
> Olá pessoal,
> 
> tenho lido um pouco mais a respeito de diferentes coletas de estatísticas e 
> com relação a histogramas ficou a duvida.
> 
> A sentença pra coletar estatísticas de forma mais profunda com histogramas, 
> seria feito como este exemplo???
> 
> dbms_stats.gather_table_stats(ownname=> 'PROACT', tabname=> 'ENTITLEMENT_B', 
> granularity=>'ALL', method_opt=>'FOR ALL INDEXED COLUMNS SIZE 
> 4',estimate_percent=>NULL,cascade=>TRUE); 
> 
> E nesse formato seria menos preciso, correto?!?!
> dbms_stats.gather_table_stats(ownname=> 'PROACT', tabname=> 'ENTITLEMENT_B');
> 
> Agradeço desde já.
> Alex
> 
> 
> 
>       
> ____________________________________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>


Responder a