Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dbandre29

Sobre Hints

Recommended Posts

Alguém poderia me dar uma esplicação sobre hints em querysEX: SELECT /*+rule*/ distinct C.CLIE_CODIGO, O.OPOR_ID FROM CLIENTE_PORTAL CNão entendo o que é , quais são e quando usá-los[]s, Andre

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

HINTS são dicas que você utiliza em comandos DML para melhorar performance, o exemplo que você passou, o HINT /*+rule*/, você irá estar forçando seu OTIMIZADOR do banco de dados ler a tabela por REGRA, isso acontece quando você não tem estatísticas na tabela.

 

Existem muitas outras, como /*+PARALLEL(DEGREE 5)*/, /*+APPEND*/ e etc... e cada um varia conforme seu comando DML.

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

... você irá estar forçando seu OTIMIZADOR ...

Na realidade "sugerindo humildemente" na sua posição de unidade de carbono, pois o otimizador pode ignorar teu hint...

 

:( :blink: http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/sick.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/blush.gif :)

 

Na maior parte das vezes que usei funcionou legal porém !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehehehe.... Deixa eu explicar melhor: CASO sua tabela não TENHA ESTATÍSTICAS, e sua base de dados esteja com optimizer_mode = CHOOSE, e você no seu SELECT (DML) utilizar o HINT /*+rule*/ blá blá blá, ele irá se basear em REGRAS para processar sua consulta. Pelo menos é o que aponta no EXPLAIN PLAN do select caso você deixe um: SQL > set autotrace traceonly explain Acho que FUNFA! Pois teria que funcionar, só se existir um JOIn com outra tabela que não funfe .. eheheheheheh Motta, eu não entendi a parte :

Na realidade "sugerindo humildemente" na sua posição de unidade de carbono, pois o otimizador pode ignorar teu hint...

Unidade de Carbono? hehehehehehehe Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Unidade de carbono vem de Star Trek (coisa de nerd...), era como a máquina se referia aos humanos ...

 

Já fiz com estatiscas atualizadas , mas devido ao indice com uma busca em cima de muitos valores o plano retornou com o uso de full table scan , trocamos o hint de index para /*+ FIRST_ROWS */ ou /*+ ALL_ROWS */ (NÃO LEMBRO) e melhorou o desempenho.

 

Depois que funciona eu como desenvolvedor típico deixo pra lá .....

Já um dba que saber pq funciona e pq não .....

 

:huh: :unsure: :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hummmmmmm.... Star trek... das antigas essa... heheheheheheheheh me lembro do Spok! Risos.

 

É como tu disse.... DBA tem que saber o pq esta funcionando e pq não tá... se complicado o serviço..

 

hehehehehehe...

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.