Mesmo sabendo que o otimizador é incrivelmente preciso na escolha do
caminho de otimização correto e uso de índices para milhares de consultas
no seu sistema, ele não é perfeito. O ORACLE possui hints (sugestões)
que você poderá usar para determinadas consultas, de modo que o
otimizador seja desconsiderado, na esperança de conseguir melhor
desempenho para determinada consulta.
Os hints modificam o caminho de execução quando um otimizador
processa uma instrução específica. O parâmetro OPTIMIZER_MODE de
init.ora pode ser usado para modificar todas as instruções no banco de
dados para que sigam um caminho de execução específico, mas um hint
para um caminho de execução diferente substitui qualquer coisa que
esteja especificada no init.ora.
Contudo, a otimização baseada em custo não será usada se as tabelas
não tiverem sido analisadas.
Hints disponíveis e agrupamentos
Os hints disponíveis variam de acordo com a versão do banco de dados
instalado.
Embora este trabalho focalize apenas os hints que são usados com maior
freqüência, muitos dos hints que não são abordados com detalhes podem
oferecer grandes ganhos de desempenho com um sistema específico.
Todos os hints disponíveis para sua versão de banco de dados, podem ser
encontrados no Database Administrator’s Guide.
Usando Hints de métodos de acesso
Os hints que são agrupados em métodos de acesso permitem que o
codificador varie o modo como a consulta real é acessada. Esse grupo
de hints é usado freqüentemente, especialmente o hint INDEX. Ele
oferece orientação a respeito de se e como os índices são usados, e como
os índices correspondentes serão mesclados para chegar à resposta final.
Os hints de método de acesso são os seguintes:
AND_EQUAL CLUSTER FULL
HASH INDEX INDEX_ASC
INDEX_COMBINE INDEX_DESC INDEX_FFS
INDEX_JOIN NO_INDEX RPWID