SQL LE A PRIMEIRA VEZ E DEPOIS não LE MAIS

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
JONI
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Ter, 31 Jul 2007 10:07 am
Localização: porto alegre - rs

Informações do Ambiente:
* Versão do Oracle: 10G
* Sistema Operacional: RadHat versao: Linux linux8 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64 x86_64 x86_64 GNU/Linux

Pessoal, tenho uma query simples que ficou muito lenta de uma hora para outra, ai, apos muitas tentativas executei um rebuild nas tabelas por ela acessada e para meu espanto ela ficou muito rapida, mas já na proxima execucao volta a ficar lenta como antes, e assim sucessivamente. alguém sabe o que pode ser? Como posso arrumar?


Agradeço a ajuda de voces...
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Veja o plano de execução da query,

se você fez move da tabela, fez rebuild dos indices né?

tenta tambem fazer um:
analyze table suatabela compute statistics;

falow
JONI
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Ter, 31 Jul 2007 10:07 am
Localização: porto alegre - rs

Pois então, eu fiz rebuild e rodei as estatisticas, ai a primeira vez que chamo roda que e uma beleza, depois para, Observacao: a chamada da query e feita por um aplicativo Delphi. não entendo. Agora estou exportando o banco inteiro e recriando os tablespaces para depois reimportar, talvez funcione pois tenho uma maquina parecida aqui e importei a base nela, funcionou, acredito que na producao devera funcionar tambem.

Muito estranho, se alguém passou por algo parecido por favor ajude ai...
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Na segunda vez está em cache, por isso é rapido, tem que ver o plano de execucao cara,

deve estar fazendo FULL em alguma tabela grande, algo assim, tem que ver o EXPLAIN da query,

na locura assim não resolve, pega o plano de execucao e posta aqui, vamos descubrir com certeza o que é,
JONI
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Ter, 31 Jul 2007 10:07 am
Localização: porto alegre - rs

RESOLVIDO..

O problema foi estranho, pois na primeira execucao apos um rebuild funcionava, apartir da segunda execucao já travava... Bom simplesmente segui as orientacoes do advisor do oracle, criei um novo indice e funcionou, apesar que o oracle pediu para criar um indice em uma tabela que possui somente 15 registros em um campo que nem chave era.... mas... vai saber ne...

Pessoal

Agradeço a ajuda de voces e fiquem com Deus
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante