Qual diferença faz /*+ use_hash(a, b)*/

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
beto_o_impossivel
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 12 Abr 2012 11:12 am

Pessoa gostaria de saber a diferença de usar use_hash e não usá-lo.

Como no exeplo abaixo;

select /*+ use_hash(a, b)*/ a.cli_id, a.cli_cpf
from tmp_cliente a
inner join tmp_cliente2 b on a.cli_id = b.cli_id
and a.cli_cpf = b.cli_cpf

Obrigado,
Roberto Oliveira
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Não sei o que o HINT "USE_HASH" faz, porém pelo pouco que sei de oracle HINT, aconselho a não usar.
É algo que pode melhorar temporariamente mas se houver alguma alteração no banco, patch, 'reindexaçãom', etcc.. pode transformar para pior do que era sem ele. Pois o hint "altera" a forma que a consulta é otimizada internamente. Pode ajudar em alguns momentos,e geralmente piorar noutros. Adicione isto a dificuldade de saber qual melhor índice (mais eficiente e estável), pois não existem documentações muito claras a respeito.

Depois de já ter me dado mal com isto, me deparei com o seguinte post:
Rules for Hinting

1. Don't
2. If you must use hints, then assume you'vê used them incorrectly
3. On every patch or upgrade to Oracle, assume every piece of hinted SQL is going to do the wrong thing. Because of (2) above; you'vê been lucky so far, but the patch/upgrade lets you discover your mistake
4. Every time you apply some DDL to an object that appears in a piece of hinted SQL assume that the hinted SQL is going to do the wrong thing. Because of (2) above; you'vê been lucky so far, but the structural change lets you discover your mistake

If you think you know more about hints than Jonathan Lewis seek professional help from a licensed psychiatrist.
Que foi retirado daqui:
http://jonathanlewis.wordpress.com/2008 ... r-hinting/
beto_o_impossivel
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 12 Abr 2012 11:12 am

Ok..
Obrigado pela resposta..
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes