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?
Desempenho SQL - como selecionar o melhor plano
-
- Moderador
- Mensagens: 641
- Registrado em: Seg, 03 Set 2007 3:26 pm
- Localização: Fortaleza - CE
att,
Daniel N.N.
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
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
- stcoutinho
- 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
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
- fbifabio
- 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
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
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
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes