Foi instalado em Desenvolvimento e Implantação (homologação)
De: Marcelo Cauduro <mcaud...@gmail.com> Para: oracle_br@yahoogrupos.com.br Data: 15/04/2010 14:35 Assunto: Re: [oracle_br] Oracle Hint Enviado por: oracle_br@yahoogrupos.com.br Complementando o que o amigo Raul disse, a sua sintaxe esta errada, ou seja, o Oracle desconsidera esse HINT, para ele é apenas um comentario... e sendo que você tem histogramas coletados, ele escolhe o uso de indice de acordo com o caso, por isso a situação muda de acordo com o valor do cd_situacao_arquivo... não tem nada a ver com o hint, que no seu caso nao existe... para forcar o uso de indice sempre nessa querie, apenas mude a sua sintaxe , naum existe o hint INDEX_RS, mas sim INDEX 2010/4/15 Raul Francisco Costa F. de Andrade, DBA <raulf...@gmail.com> > Caro amigo > A tabela citada deve ter histogramas coletados provavelmente, sendo assim o > número 1 deve ter poucas vezes na tabela, já o número 3 deve ter mais. > > Sendo assim, através do histograma o otimizador acredita ser melhor (e > provavelmente será) ler a tabela toda ao invés de utilizar o índice. > A sintaxe da sua hint está meio estranha também! > > tente fazer: > > > select /*+ index(owner.tabela index_name) */ from owner.tabela; > > > > > > > > Em 15 de abril de 2010 13:54, Eduardo <eduardo.pa...@gmail.com> escreveu: > > > > > > > Senhores, > > > > eu tenho um select que possui 2 custos mudando um parametro no where: > > > > Gostaria de saber porque ele está usando o index somente quando o > > cd_situacao_arquivo é 1, já tentei usar o hint para ele usar o indice > > mas ele teima em fazer full table scan. > > Tem solução isso? > > > > > > > ####################################################################################################### > > > > set autotrace traceonly explain; > > > > SELECT /* +INDEX_rs IX_FK_ARQ_DIV_SIT_ARQ */ ad.sg_ue, ad.cd_arquivo > > FROM arquivo_divulgacao ad > > WHERE ad.cd_situacao_arquivo = 3; > > > > ---------------------------------------------------------- > > Execution Plan > > ---------------------------------------------------------- > > SELECT STATEMENT Optimizer Mode=ALL_ROWS (Cost=11 Card=4 K > > Bytes=104 K) > > 1 PARTITION LIST SINGLE (Cost=11 Card=4 K Bytes=104 K) > > 2 1 TABLE ACCESS FULL ADMELEGERAL.ARQUIVO_DIVULGACAO > > (Cost=11 Card=4 K Bytes=104 K) > > > > > > > ####################################################################################################### > > > > set autotrace traceonly explain; > > > > SELECT /* +INDEX_rs IX_FK_ARQ_DIV_SIT_ARQ */ ad.sg_ue, ad.cd_arquivo > > FROM arquivo_divulgacao ad > > WHERE ad.cd_situacao_arquivo = 1; > > > > Execution Plan > > ---------------------------------------------------------- > > SELECT STATEMENT Optimizer Mode=ALL_ROWS (Cost=2 Card=1 Bytes=22) > > 1 TABLE ACCESS BY GLOBAL INDEX ROWID > > ADMELEGERAL.ARQUIVO_DIVULGACAO (Cost=2 Card=1 Bytes=22) > > 2 1 INDEX RANGE SCAN ADMELEGERAL.IX_FK_ARQ_DIV_SIT_ARQ > > (Cost=1 Card=1) > > > > -- > > ---------- > > > > Eduardo > > > > > > > > -- > ---------------------------------------------------------- > Raul Francisco da Costa Ferreira de Andrade > DBA - OCA - Oracle Certified Associate > COBIT Foundation 4.1 > Fone: (41)8855-8874 Brt > email: raulf...@gmail.com > Skype: raul.andrade > www.clickdba.com > "Não somos seres humanos passando por uma experiência espiritual > Somos seres espirituais passando por uma experiência humana." > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > > ---------------------------------------------------------- > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > inteira responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > ---------------------------------------------------------- > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure > » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > http://www.oraclebr.com.br/ > ---------------------------------------------------------- > Links do Yahoo! Grupos > > > [As partes desta mensagem que não continham texto foram removidas] AVISO Esta mensagem é destinada exclusivamente a(s) pessoa(s) indicada(s) como destinatário(s), podendo conter informações confidenciais, protegidas por lei. A transmissão incorreta da mensagem não acarreta a perda de sua confidencialidade. Caso esta mensagem tenha sido recebida por engano, solicitamos que seja devolvida ao remetente e apagada imediatamente de seu sistema. É vedado a qualquer pessoa que não seja destinatário, usar, revelar, distribuir ou copiar ainda que parcialmente esta mensagem. ----------------------------------------------------------------------------------------------------------------- DISCLAIMER This message is destined exclusively to the intended receiver. It may contain confidential or legally protected information. The incorrect transmission of this message does not mean loss of its confidentiality. If this message is received by mistake, please send it back to the sender and delete it from your system immediately. It is forbidden to any person who is not the intended receiver to use, reveal, distribute, or copy any part of this message. [As partes desta mensagem que não continham texto foram removidas]