Desempenho SQL - como selecionar o melhor plano

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Bom dia,
estou otimizando uma query e me deparei com as dois planos de execução, qual é o menos custoso? ou seja a melhor escolha?
Anexos
Plano 02
Plano 02
plano_02.png (10.39 KiB) Exibido 3608 vezes
Plano 01 - /*+RULE */
Plano 01 - /*+RULE */
plano_01.png (11.14 KiB) Exibido 3608 vezes
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Teoricamente o segundo,
pois o primeiro está fazendo um TABLE ACESS FULL.

De qualquer forma, não é apenas do plano de execução que se determina se uma querie está com o melhor desempenho ou não.
Esta é apenas uma das coisas a se considerar.
Dá uma lida no seguinte post, para te ajudar:
http://glufke.net/oracle/viewtopic.php? ... 54&p=34927
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

A TABLE ACESS FULL é executada em uma tabela com 1763 linhas.
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Hum ...

Eu não recomendaria o uso do hint "RULE", pois ele não leva em conta as estatísticas do banco, que poderiam indicar um plano de acesso melhor, com base nestas estatísticas que o RULE ignora.

Entendo que um FULL SCAN nem sempre indica "algo ruim". Se a tabela dispõe de poucos registros, é melhor o ORACLE fazer FULL SCAN na tabela do que perder tempo em passos intermediários, como acessando indice para depois consultar a tabela.

Para uma melhor análise, recomendaria o uso do AUTOTRACE, para verificar se o acesso seria melhor ou não usando os HINTS que deseja. Um link onde você poderia obter maiores informações se encontra abaixo:

http://www.toadworld.com/KNOWLEDGE/Know ... fault.aspx


Abraços,

Sergio Coutinho
Avatar do usuário
fbifabio
Moderador
Moderador
Mensagens: 199
Registrado em: Ter, 22 Fev 2011 1:51 pm
Localização: São Paulo - SP
Contato:
Fábio Prado
www.fabioprado.net

Pessoal,

O meio mais fácil de avaliar o melhor plano de execução é ver o tempo de resposta e/ou custo dele. O melhor é o que tem menor tempo de resposta ou menor custo. Leiam o artigo http://www.fabioprado.net/2011/03/anali ... -para.html para ver melhor como fazer isso!

[]s

Fábio Prado
www.fabioprado.net
Responder
  • Informação