Olá Marcio, Farei o seguinte, na minha máquina do trabalho tenho um 9i só para recuperar backup de clientes. Passarei ela para RULE e farei uns testes. Quando encontrar algo estranho reportarei a vocês.
Ou seja, darei uma chance pro CBO. hehehe! Abraços, Fabão. P.S. Num falei que sou o vovô do grupo !!! Mas até hoje gosto e tenho T pelo que faço. E o faço com o maior carinho e dedicação. Sou um cara comprometido com qualidade e continuo empolgadão hoje e sempre! Em 25/11/05, Marcio Portes<[EMAIL PROTECTED]> escreveu: > Acho que dá pra escovar uns bits por ai e te convencer de usar CBO. > Faz o seguinte, na próxima oportunidade que voce tiver que voce > colocou /*+ rulle */ ganhou do cbo manda pra lista. Tem muito cara > bom por aqui e tenho certeza que alguem surge com a resolução ou > mesmo uma explicação. > > Sobre a idade :) > É que eu comecei cedo também, 1989 com COBOL para Xenix. Então a > gente conhece IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, WORKING- > STORAGE SECTION 77 ... e por ai vai ;) > > > > --- Em oracle_br@yahoogrupos.com.br, falmeida <[EMAIL PROTECTED]> escreveu > > Olá Marcio, > > > > Eu ainda não fui no site para ler mas vou ler sim. Acho que com mais > > um ano frequentando os comentário de vocês acabarei entendendo como > o > > CBO "pensa". Na época que eu trabalhava direto com o SQLServer > achava > > que o plano gerado era mais natural > > > > Vejo que vocês utilizam sempre o banco em CHOOSE, eu utilizando em > > RULE estou na contramão? Tenho minhas dúvidas, pois analisando > > diversas queries, vendo o que elas faziam e adequando índices, > rodando > > estatístiscas (não da forma que vocês fazem, eu simplesmente entrava > > no DBA Studio e mandava fazer um ANALISE nos SCHEMAS - tinha um job > > para isto (nossos bancos são pequenos e posso me dar o luxo de fazer > > isto à noite). Muitas das vezes eu tinha que colocar o hint para > usar > > RULE nas queries para melhorá-las, e olha que melhorava um absurdo! > > Muitas das vezes percebia que o banco gerava planos completamente > > diferentes, daí ter mudado para RULE. > > > > Para terminar... este coment é OFF... Pô cara, acabei de fazer 48 > > anos, pelo seu blog você é bem mais novo! Tô nesta práia desde os 16 > > anos quando entrando no 1° ano do segundo grau me apaixonei por um > tal > > de COMPUTADOR que me obedeceu só que não o vía nunca (IBM 360 - > > COBOL). Aquelas coisas de: fluxograma, folha de codificação, > perfurar > > cartão, ler listagem, encontrar erros, etc. Caraca que cheiro de > > naftalina!!! > > > > Abraços, > > > > Fabão. > > > > Em 25/11/05, Marcio Portes<[EMAIL PROTECTED]> escreveu: > > > --- Em oracle_br@yahoogrupos.com.br, falmeida <[EMAIL PROTECTED]> > escreveu > > > > Olá Marcio, > > > > > > > > Entendi em parte. Imaginei que estava usando 10% por isto, mas > > > fiquei > > > > preocupado se iria prejudicar a análise. Legal! > > > > > > > > É claro que em determinados exemplos o melhor é o > particionamento, > > > mas > > > > o que eu estou discutindo é que no exemplo que eu dei, eu teria > > > > 1.000.000 de torcedores divididos por 100 times, da seguinte > forma. > > > O > > > > time 50 teria 10 torcedores e os demais com o restante dividido > > > > aproximadamente em partes iguais. Quando você pesquisa uma dada > > > chave > > > > em uma árvore esta pesquisa é extremamente eficiente. Como os > dados > > > > estão ordenados nela, quando você chega ao bloco folha onde > aparece > > > o > > > > primeiro registro com a chave procurada, basta você ler > > > > sequencialmente a direita os blocos. > > > > > > Olha até onde eu sei a busca não é assim não. Ela é randômica. > > > > > > >Estou falando em árvore > > > > balanceada, não em árvore binária onde temos que ficar subindo e > > > > descendo. Logo, imagine que teríamos que varrer estes blocos > folhas > > > de > > > > índice a direita e para cada entrada fazer um acesso via rowid > nos > > > > blocos de dados. Estamos falando em eliminar 90% da tabela e não > > > 25%. > > > > > > Ok, o otimizador trabalha mediante esforço. Se o custo para trazer > > > 10% de registros pelo índice é maior que fts, ele vai por fts. Se > > > estiver errado é porque algo nas estatísticas está errado. Por > isso a > > > necessidade de entender bem o que conta no momento da elaboração > do > > > custo. Não sei se teve oportunidade de ler o link na asktom, lá > > > inclusive ele faz os cálculos da leitura randômica contra a > > > sequencial massiva. Tem alguns parâmetros que ajudam ao CBO tomar > > > decisão de ir por índice. Por exemplo: optimizer_index_caching, > > > optimizer_index_cost_adj e db_file_multiblock_read_count para > começar. > > > > > > > > > > E mais, a partir do momento que o bloco é lido a próxima leitura > > > > provavelmente será feita no buffer e não em disco (claro que > isto > > > > dependerá dos parâmetros). Mesmo assim, sou do tempo que a gente > > > media > > > > as coisas. Não falo em termos de olhar o resultado da query em > > > termos > > > > de custo ou outros resultados, pois estes número são dados > através > > > de > > > > um modelo matemático, mas falo em criar os dados e medir com o > > > velho e > > > > bom relógio. > > > > > > hhehe - acho que temos a mesma idade ;) > > > > > > > > > > Sem é claro deixar com que a aplicação fique exibindo no > > > > vídeo, pois isto acaba também interferindo no tempo de > resposta. Vou > > > > além, se os dados estiverem ordenados nos blocos de dados, ai a > > > coisa > > > > ficaria mais ainda ao meu favor, pois na maioria das vezes, > > > produzimos > > > > relatórios onde lemos uma parte dos dados em sequencia. Relação > de > > > > funcionários. Telefones e suas respectivas chamadas etc. > > > > > > Concordo! A sequencia dos dados no storage é fator significativo > na > > > tomada de decisão do otimizador e essa informação está disponível > na > > > *_indexes: clustering_factor. > > > Quanto mais próximo do número de blocos - blocks (mais ordenado) > > > Quanto mais próximo do número de linhas - num_rows (mais > desordenado) > > > > > > Abraços, > > > > > > > > > > > Fico por aqui, > > > > > > > > Abraços, > > > > > > > > Fabão > > > > > > > > Em 25/11/05, Marcio Portes<[EMAIL PROTECTED]> escreveu: > > > > > > > > > > Não tem que pedir desculpas de nada, a idéia em um forum é o > > > debate e > > > > > ninguem é dono da verdade. É assim que aprendemos mais a cada > nova > > > > > discussão. > > > > > > > > > > Ele sõ usou na segunda query, porque é mais barato. Ele sabe > que > > > > > através do índice, ele encontrará poucos registros em relação > a > > > > > tabela toda. > > > > > > > > > > No exemplo a proporção do índice era de 25% da tabela, > portanto um > > > > > fts é mais barato. > > > > > > > > > > hehehe, permita-me discordar. Se eu tenho uma tabela de 100 > > > milhões > > > > > eu vou considerar o particionamento, daí sim FPS (Full > Partition > > > > > Scan) de 1 milhão de registros. > > > > > > > > > > > > > > > Então, mas quando voce chega no leaf block 1, temos não só um > > > rowid, > > > > > temos vários. Em uma leitura de 25% do cotingente da tabela, > > > quantas > > > > > vezes acha que vai ler esse mesmo bloco? > > > > > Tem um monte de explicação disso na asktom. uma delas é > > > > > http://asktom.oracle.com/pls/ask/f? > > > > > p=4950:8:::::F4950_P8_DISPLAYID:4433887271030 > > > > > > > > > > Acho que voce muda de idéia com a versão 10gr2. Ela está ótima > > > > > (quanto a configuração default). Mas em minha opinião é o voce > > > disse, > > > > > precisa entender o que acontece com o CBO para poder usar > > > > > corretamente. O novo livro do Jonathan Lewis *dizem* está > > > > > espetacular, não tem o que ele não explique. > > > > > > > > > > > > > > > --- Em oracle_br@yahoogrupos.com.br, falmeida <[EMAIL PROTECTED]> > > > escreveu > > > > > > Olá Márcio, > > > > > > > > > > > > Antes de mais nada, peço desculpas por te torrar a > paciência. > > > > > > > > > > > > Realmente me referia ao artigo de ontem - Histograma. E faço > > > alguns > > > > > > comensários, a seguir. > > > > > > > > > > > > Acho isto no Oracle muito "doido". Eu fiquei desconfiado que > > > quando > > > > > > você executasse já utilizando o histograma os selects: > > > > > > SQL> select * from t where x_hist = 2; > > > > > > ou > > > > > > SQL> select * from t where x_hist = 5; > > > > > > utilizariam o índice. Só usou na segunda query. . > > > > > > > > > > > > Depois, com a criação do bitmap index o resultado foi FTS > nas > > > duas > > > > > daí > > > > > > quando você força o índice, o custo da que ele fez full e > menor > > > da > > > > > que > > > > > > ele usou índice. > > > > > > > > > > > > Acho isto incongruente, pois imagine se você tivesse não 10 > > > times, > > > > > mas > > > > > > sim 100 times, e em cada um tivesse 1.000.000 e em um deles > > > apenas 5 > > > > > > torcedores. Ora, se eu estivesse acessando um dos times que > tem > > > > > > 1.000.000 de torcedores, mesmo com o custo de ir no indice e > > > depois > > > > > na > > > > > > tabela seria melhor do que percorrer os praticamente > 100.000.000 > > > > > > registros da tabela. Se colocassemos um indice do tipo > arvore > > > > > > balanceada sobre o campo em questão, ele deveria encontrar > > > > > rapidamente > > > > > > pelo ponteiro vertical onde iniciava o primeiro bloco onde a > > > chave > > > > > > procurada se encontrava e a partir daí percorreria todos os > > > blocos a > > > > > > direita desta árvore até não mais encontrar registros para > chave > > > > > > procurada. Para cada registro encontrado nesta pesquisa, ele > > > deveria > > > > > > acessar via rowid a linha na tabela. Vale lembrar que quando > > > > > > computamos a estatistica conseguimos ver a profundidade da > > > árvore do > > > > > > índice. > > > > > > Em um DISCO IDE com tempo de acesso médio de 8ms, e uma > árvore > > > > > > gigantesca com profundidade de 6 (eu particularmente eu > nunca vi > > > > > > nenhum índice com esta profundidade) observaremos que ele > iria > > > > > > encontrar o primeiro elemento e 7*8 = 56ms (7 por que temos > que > > > > > > acessar um bloco raiz). A partir daí é só percorrer blocos a > > > > > direita. > > > > > > Isto é extremamente rápido. Depois para cada registro > > > encontrado ir > > > > > no > > > > > > bloco apontado pelo rowid. Lembro também que num bloco de > índice > > > > > cabem > > > > > > inúmeras entradas (ponteiros) e que num bloco de dados > vários > > > > > > registros. Concluindo, poderiamos aqui fazer uma estimativa > de > > > > > quantas > > > > > > entradas caberiam nos blocos de índices e depois quantas > linhas > > > > > > caberiam em um bloco de dados, mas acho que o plano de > execução > > > é > > > > > > muito ruim nestes casos. Não consigo entender o que o > > > programador da > > > > > > Oracle estava pensando quando decidiu fazer o banco > trabalhar > > > desta > > > > > > forma. Critico sim, pois trabalhei a vida toda com um > > > SO/Linguagem > > > > > > chamado MUMPS (hoje tem seu sucessor Caché - que é um banco > da > > > > > geração > > > > > > pós-relacional) que era super eficiente em termos de busca > em > > > > > árvore. > > > > > > Hoje concluo que a opção choose como padrão a pior escolha, > > > pois o > > > > > > critério que o Oracle escolhe, na minha opinião, é muito > > > > > > "preconceituoso", duvidoso e não intuitivo. Hoje, eu deixo o > > > banco > > > > > em > > > > > > RULE e analiso o tempo de resposta, e não um suposto custo > que > > > eu > > > > > não > > > > > > compreendo a lógica de sua apuração. > > > > > > > > > > > > Cabe um esclarecimento aqui. Minhas palavras não são para > > > agredir, > > > > > > ofender, nem denegrir, ninguém, nem ao produto com o qual > venho > > > > > > trabalhando e é o meu "ganha pão". Só queria .... > > > entender..... :-p > > > > > > > > > > > > Cordialmente e abraços a todos por me aturar e chegar até > aqui, > > > > > > > > > > > > Fabão. > > > > > > > > > > > > Em 24/11/05, Marcio Portes<[EMAIL PROTECTED]> escreveu: > > > > > > > Fabão, acredito que voce esteja falando sobre o artigo de > > > ontem > > > > > > > (Histograma - introdução). > > > > > > > > > > > > > > 1) A query que tem um monte de registro vai por FTS. > Achei que > > > > > tinha > > > > > > > ficado claro quando executei a primeira query com > x_hist = 5 > > > > > (sem > > > > > > > histogramas corretos) que fez full table scan. Mesmo > assim > > > aqui > > > > > > > está o resultado do autotrace traceonly. > > > > > > > > > > > > > > SQL> select * from t where x_hist = 2; > > > > > > > > > > > > > > > > > > > > > 1835197 rows selected. > > > > > > > > > > > > > > > > > > > > > Execution Plan > > > > > > > ---------------------------------------------------------- > > > > > > > 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2986 > > > Card=1834400 > > > > > > > Bytes=45860000) > > > > > > > 1 0 TABLE ACCESS (FULL) OF 'T' (Cost=2986 > Card=1834400 > > > > > > > Bytes=45860000) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Statistics > > > > > > > ---------------------------------------------------------- > > > > > > > 0 recursive calls > > > > > > > 0 db block gets > > > > > > > 49556 consistent gets > > > > > > > 31045 physical reads > > > > > > > 360 redo size > > > > > > > 54405784 bytes sent via SQL*Net to client > > > > > > > 202512 bytes received via SQL*Net from client > > > > > > > 18353 SQL*Net roundtrips to/from client > > > > > > > 0 sorts (memory) > > > > > > > 0 sorts (disk) > > > > > > > 1835197 rows processed > > > > > > > > > > > > > > SQL> select * from t where x_hist = 5; > > > > > > > > > > > > > > 10 rows selected. > > > > > > > > > > > > > > > > > > > > > Execution Plan > > > > > > > ---------------------------------------------------------- > > > > > > > 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=4 Card=1 > > > > > Bytes=25) > > > > > > > 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'T' (Cost=4 > Card=1 > > > > > > > Bytes=25) > > > > > > > 2 1 INDEX (RANGE SCAN) OF 'T_IDX' (NON-UNIQUE) > > > (Cost=3 > > > > > > > Card=1) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Statistics > > > > > > > ---------------------------------------------------------- > > > > > > > 0 recursive calls > > > > > > > 0 db block gets > > > > > > > 6 consistent gets > > > > > > > 0 physical reads > > > > > > > 0 redo size > > > > > > > 920 bytes sent via SQL*Net to client > > > > > > > 651 bytes received via SQL*Net from client > > > > > > > 2 SQL*Net roundtrips to/from client > > > > > > > 0 sorts (memory) > > > > > > > 0 sorts (disk) > > > > > > > 10 rows processed > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) Baixa seletividade não é o único argumento para > criação de > > > > > bitmap > > > > > > > index. Já imaginou se mesmo com baixa seletividade, o > > > sistema > > > > > > > sofre intensa manutenção? Pra onde vai sua performance? > Mas > > > sim, > > > > > > > seria uma alternativa (desde que bem avaliada em seus > > > efeitos > > > > > > > colaterais). no artigo de hoje eu ressalto isso: > > > > > > > > > > > > > > Pedaço do artigo em > > > > > > > <http://mportes.blogspot.com/2005/11/histograma-definio- > > > size.html> > > > > > > > E agora, quando usar histogramas? > > > > > > > Sempre que NÃO exista uniformidade na distribuição de > > > valores > > > > > > > sobre o grupo. Voltando ao exemplo dos torcedores, se em > > > nosso > > > > > > > conjunto não tivéssemos os torcedores do VOCEM, não > seria > > > > > > > interessante usar histogramas, porque não ganharíamos > nada, > > > > > > > haveria necessidade de estudar melhor os dados e talvez > usar > > > > > > > bitmap, cluster, etc. Tudo depende, mas se há > distruibuição > > > > > > > ^^^^^^ ^^^^^^^ ^^^ > > > > > > > uniforme no grupo ou constante variação de valores > > > distintos, a > > > > > > > coluna não é candidata ao histograma. Outra ocasião onde > > > > > > > deveríamos evitar o histograma é quando a coluna é > > > comparada com > > > > > > > bind variable. De novo o exemplo, se o campo torce_para > for > > > > > > > comparado com bind variable, ele não é candidado a > > > histogramas. > > > > > O > > > > > > > otimizador precisa conhecer o valor literal da > comparação > > > para > > > > > > > percorrer os buckets(endpoint_number, endpoint_value). > > > > > > > > > > > > > > 3) Só lembrando que o propósito do artigo foi dar uma > > > introdução > > > > > de > > > > > > > histograma, onde um colega da lista perguntou qual a > > > vantagem de > > > > > > > usá-lo. O artigo foi elaborado para demonstrar a > > > aplicabilidade > > > > > do > > > > > > > histograma. > > > > > > > Mas, vamos a criação do índice e teste. > > > > > > > > > > > > > > SQL> create bitmap index t_bm on t ( x_hist ) parallel > > > nologging; > > > > > > > > > > > > > > Index created. > > > > > > > > > > > > > > SQL> exec dbms_stats.gather_index_stats( user, 'T_BM' ) > > > > > > > > > > > > > > PL/SQL procedure successfully completed. > > > > > > > > > > > > > > SQL> set autotrace traceonly > > > > > > > SQL> select * from t where x_hist = 2; > > > > > > > > > > > > > > 1835197 rows selected. > > > > > > > > > > > > > > > > > > > > > Execution Plan > > > > > > > ---------------------------------------------------------- > > > > > > > 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2986 > > > Card=1834400 > > > > > > > Bytes=45860000) > > > > > > > 1 0 TABLE ACCESS (FULL) OF 'T' (Cost=2986 > Card=1834400 > > > > > > > Bytes=45860000) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Statistics > > > > > > > ---------------------------------------------------------- > > > > > > > 0 recursive calls > > > > > > > 0 db block gets > > > > > > > 49551 consistent gets > > > > > > > 30842 physical reads > > > > > > > 0 redo size > > > > > > > 54405784 bytes sent via SQL*Net to client > > > > > > > 202512 bytes received via SQL*Net from client > > > > > > > 18353 SQL*Net roundtrips to/from client > > > > > > > 0 sorts (memory) > > > > > > > 0 sorts (disk) > > > > > > > 1835197 rows processed > > > > > > > > > > > > > > Deixando o otimizador trabalhar com as estatísticas > coletadas > > > ele > > > > > > > achou melhor fazer FTS. > > > > > > > Mas vamos forçar o índice. > > > > > > > > > > > > > > SQL> select /*+ index(t, t_bm) */ * from t where x_hist = > 2; > > > > > > > > > > > > > > 1835197 rows selected. > > > > > > > > > > > > > > > > > > > > > Execution Plan > > > > > > > ---------------------------------------------------------- > > > > > > > 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=15420 > > > > > Card=1834400 > > > > > > > Bytes=45860000) > > > > > > > 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'T' > (Cost=15420 > > > > > > > Card=1834400 Bytes=45860000) > > > > > > > 2 1 BITMAP CONVERSION (TO ROWIDS) > > > > > > > 3 2 BITMAP INDEX (SINGLE VALUE) OF 'T_BM' > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Statistics > > > > > > > ---------------------------------------------------------- > > > > > > > 0 recursive calls > > > > > > > 0 db block gets > > > > > > > 49475 consistent gets > > > > > > > 29340 physical reads > > > > > > > 72 redo size > > > > > > > 54405784 bytes sent via SQL*Net to client > > > > > > > 202512 bytes received via SQL*Net from client > > > > > > > 18353 SQL*Net roundtrips to/from client > > > > > > > 0 sorts (memory) > > > > > > > 0 sorts (disk) > > > > > > > 1835197 rows processed > > > > > > > > > > > > > > Praticamente o mesmo esforço, embora o custo tenha sido > maior > > > do > > > > > > > índice em relação ao FTS - (Cost=15420) contra > (Cost=2986) na > > > > > mesma > > > > > > > cardinalidade 1834400. Acho que seria necessário um tkprof > > > aqui > > > > > para > > > > > > > análise mais a fundo, mas como o propósito não era > investigar > > > > > bitmap > > > > > > > index, vou deixar o script que eu usei para fazer o teste > e > > > voce > > > > > pode > > > > > > > realizá-lo e postar aqui mais tarde. > > > > > > > > > > > > > > drop table t; > > > > > > > > > > > > > > create table t nologging as > > > > > > > select object_id, object_name, mod(rownum, 4) x_hist > > > > > > > from all_objects > > > > > > > / > > > > > > > insert /*+ append */ into t > > > > > > > select * from t; > > > > > > > commit; > > > > > > > insert /*+ append */ into t > > > > > > > select * from t; > > > > > > > commit; > > > > > > > insert /*+ append */ into t > > > > > > > select * from t; > > > > > > > commit; > > > > > > > insert /*+ append */ into t > > > > > > > select * from t; > > > > > > > commit; > > > > > > > insert /*+ append */ into t > > > > > > > select * from t; > > > > > > > commit; > > > > > > > > > > > > > > update t set x_hist = 5 where rownum <= 10; > > > > > > > > > > > > > > select x_hist, count(*) > > > > > > > from t > > > > > > > group by rollup(x_hist) > > > > > > > / > > > > > > > > > > > > > > create index t_idx on t (x_hist) parallel 8 nologging; > > > > > > > > > > > > > > begin > > > > > > > dbms_stats.gather_table_stats( > > > > > > > user, > > > > > > > 'T', > > > > > > > estimate_percent => 10, > > > > > > > method_opt => 'for columns x_hist size 10', > > > > > > > cascade => true, > > > > > > > degree => 8 ); > > > > > > > end; > > > > > > > / > > > > > > > > > > > > > > --- Em oracle_br@yahoogrupos.com.br, falmeida > <[EMAIL PROTECTED]> > > > > > escreveu > > > > > > > > Ola Marcio, > > > > > > > > > > > > > > > > Também gostei muito, mas tenho as seguintes perguntas, a > > > saber: > > > > > > > > > > > > > > > > 1) Você após ter aplicado o 2 metodo de coleta de > > > estatísticas > > > > > você > > > > > > > só > > > > > > > > rodou a query abaixo: > > > > > > > > > > > > > > > > select * from t 2 where x_hist = 5 > > > > > > > > > > > > > > > > Não seria legal também demonstrar como ficaria com a > query > > > que > > > > > tem > > > > > > > um > > > > > > > > monte de registros? > > > > > > > > > > > > > > > > select * from t 2 where x_hist = 4 > > > > > > > > > > > > > > > > 2) Não seria melhor criar um bitmap index, dado que > você tem > > > > > baixa > > > > > > > > seletividade nesta coluna? > > > > > > > > > > > > > > > > 3) Já que você tem estes dados na tabela t poderia > criar um > > > > > indice > > > > > > > > bitmap e mostrar o resultado aqui? > > > > > > > > > > > > > > > > Desde já agradeço, > > > > > > > > > > > > > > > > Fabão. > > > > > > > > > > > > > > > > > > > > > > > > Em 24/11/05, Rosiano Vieira de Sales<[EMAIL PROTECTED]> > > > > > escreveu: > > > > > > > > > Marcio... dei uma lida no seu blog a respeito e gostei > > > muito > > > > > da > > > > > > > nota que vc publicou ....contudo fiquei com uma > > > dúvida ....qual o > > > > > > > critério para definir o size do historgrama ??? .... se > tiver > > > > > algo a > > > > > > > respeito envie para o grupo .. vai ser de muito > proveito ..... > > > > > > > > > > > > > > > > > > abç. > > > > > > > > > > > > > > > > > > Rosiano > > > > > > > > > > > > > > > > > > -----Mensagem original----- > > > > > > > > > De: oracle_br@yahoogrupos.com.br em nome de > Marcio > > > > > Portes > > > > > > > > > Enviada: qua 23/11/2005 15:06 > > > > > > > > > Para: oracle_br@yahoogrupos.com.br > > > > > > > > > Cc: > > > > > > > > > Assunto: [oracle_br] Re: Histogramas.???? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Welvis, tomei a liberdade de escrever uma > pequena > > > > > > > introdução para sua > > > > > > > > > dúvida no meu blog. > > > > > > > > > Se interessar: > > > > > > > > > http://mportes.blogspot.com/2005/11/histograma- > > > > > > > introduo.html > > > > > > > > > > > > > > > > > > abraços, > > > > > > > > > > > > > > > > > > --- Em oracle_br@yahoogrupos.com.br, Welvis > Douglas > > > > > Silva > > > > > > > Moreto > > > > > > > > > <[EMAIL PROTECTED]> escreveu > > > > > > > > > > Quando devo estar utilizando Histogramas.... > > > quais > > > > > > > > > > beneficios terei utilizando o. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > att, > > > > > > > > > > > > > > > > > > > > Welvis Douglas > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________________ > > > > > > > > > > Yahoo! Acesso Grátis: Internet rápida e > > > grátis. > > > > > > > > > > Instale o discador agora! > > > > > > > > > > http://br.acesso.yahoo.com/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ----------------------------------------------- > ---- > > > ---- > > > > > ---- > > > > > > > ---------------------------------------------------------- > ---- > > > - > > > > > > > > > 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/ > > > > > > > > > ----------------------------------------------- > ---- > > > ---- > > > > > ---- > > > > > > > ---------------------------------------------------------- > ---- > > > - > > > > > > > > > > > > > > > > _____________________________________________________________________ > > > > > > > > > Area de download do grupo - > > > > > > > http://www.4shared.com/dir/101727/a4dcc423 > > > > > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [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/ > > > > > > > > > ------------------------------------------------------ > ---- > > > ---- > > > > > ---- > > > > > > > -------------------------------------------------------- > > > > > > > > > > > > > > > > _____________________________________________________________________ > > > > > > > > > Area de download do grupo - > > > > > > > http://www.4shared.com/dir/101727/a4dcc423 > > > > > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Fábio Martinho de Almeida > > > > > > > > Niterói-RJ-Brasil > > > > > > > > > > > > > > > > Visite o fotolog: http://fotolog.net/canon_a300 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------- > ---- > > > ---- > > > > > -------------------------------------------------------- > > > > > > > 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/ > > > > > > > ---------------------------------------------------------- > ---- > > > ---- > > > > > -------------------------------------------------------- > > > > > > > > > _____________________________________________________________________ > > > > > > > Area de download do grupo - > > > > > http://www.4shared.com/dir/101727/a4dcc423 > > > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Fábio Martinho de Almeida > > > > > > Niterói-RJ-Brasil > > > > > > > > > > > > Visite o fotolog: http://fotolog.net/canon_a300 > > > > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------- > ---- > > > -------------------------------------------------------- > > > > > 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/ > > > > > -------------------------------------------------------------- > ---- > > > -------------------------------------------------------- > > > > _____________________________________________________________________ > > > > > Area de download do grupo - > > > http://www.4shared.com/dir/101727/a4dcc423 > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Fábio Martinho de Almeida > > > > Niterói-RJ-Brasil > > > > > > > > Visite o fotolog: http://fotolog.net/canon_a300 > > > > > > > > > > > > > > > ------------------------------------------------------------------ > -------------------------------------------------------- > > > 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/ > > > ------------------------------------------------------------------ > -------------------------------------------------------- > _____________________________________________________________________ > > > Area de download do grupo - > http://www.4shared.com/dir/101727/a4dcc423 > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Fábio Martinho de Almeida > > Niterói-RJ-Brasil > > > > Visite o fotolog: http://fotolog.net/canon_a300 > > > > > -------------------------------------------------------------------------------------------------------------------------- > 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/ > --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ > Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 > Links do Yahoo! Grupos > > > > > > > > > -- Fábio Martinho de Almeida Niterói-RJ-Brasil Visite o fotolog: http://fotolog.net/canon_a300 -------------------------------------------------------------------------------------------------------------------------- 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/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 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