Isso está totalmente documentado nos manuais Oracle de Tunning, cuja 
leitura ** enfaticamente ** te recomendo, mas de modo geral, é o 
seguinte : o modo recomendado pela Oracle de se trabalhar com SQLs 
num bd Oracle é com o CBO (Cost-Based Optimizer) , com esse modo em 
vc tendo SQLs bem escritos, coletando as estatísticas necessárias e 
configurando apropriadamente o banco, o próprio banco escolherá o 
melhor método de execução para os SQLs, a ** ESMAGADORA ** e ** total 
** maioria dos SQLs, coisa de 99 em 100, via de regra será otimizado 
a contento, rodarão com boa performance. 
  Muito bem, salvo os casos de aplicativos antigos que não são 
compatíveis com CBO e exige o modo antigo, mesmo assim podem haver 
raros, raríssimos casos, coisa desse 1 em 100, uma minoria total 
normalmente, onde por qquer motivo (bug do CBO, impossibilidade de 
coletar a informação necessária, SQL sendo gerado automaticamente por 
uma ferramenta e não por humanos, tabela com uma distribuição de 
dados absolutamente irregular ao extremo, particularidade especial do 
ambiente, etc, etc), vc não possa usar o CBO adequadamente, para 
esses casos aí sim há a opção de HINT, que é uma "instrução extra" 
que vc agrega ao texto do seu SQL, com o HINT ao invés do banco 
montar o melhor caminho de execução do SQL, é VOCÊ que indica o que 
quer. A sintaxe seria + ou - tipo :
  
  SELECT /*+ INDEX(nomedatabela nomedoindice)
  campo1, campo2, ... , campon FROM nomedatabela
WHERE ....

==> no exemplo, ao invés de (como seria CORRETO e RECOMENDADO) eu 
deixar o próprio banco escolher se VAI ou NÃO usar índices, e qual 
vai usar, com o HINT eu PEÇO à ele que use sim, e que use o índice 
que indiquei, é isso. 
 Quando usar hints ? imho, como eu disse acima, HINTs são a EXCEÇÃO 
da EXCEÇÃO, algo pra ser usado nos muito muito raros casos onde o CBO 
não atenda, é isso.
 
 []s
 
  Chiappa
  
===========================================================
Participe do ENPO - Encontro de Profissionais Oracle 2006 ! 
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2006
===========================================================


--- Em oracle_br@yahoogrupos.com.br, "alexandre.fourakis" 
<[EMAIL PROTECTED]> escreveu
>
> Alguém sabe o significado e quando usar HINTS para otimização de 
> consultas no ORACLE.
>






--------------------------------------------------------------------------------------------------------------------------
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/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"
__________________________________________________________________
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
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