[firebase-br] Lentidao em Base de dados Grande

Elton da Motta Barbosa embarbosa em gmail.com
Ter Jan 26 13:47:38 -03 2010


> Boa tarde Elton,
> La vai,
> PLAN (ITENS NATURAL)
> Prepare: 265 ms  Execute: 10 s 703 ms  Fetch: 10 s 703 ms
>
> Grato,
> Rodrigo

Olá Rodrigo,

   Então, como já dito, por nosso colega, o NATURAL significa que o
Firebird não está usando o índice pra executar o select, e está lendo
registro por registro da tabela para encontrar o que você pediu.
   Como você em outra mensagem já disse que existe um índice no campo
em questão, provavelmente a seletividade do índice deva estar ruim. O
que você precisa fazer é atualizar as estatísticas desse índice.
   Então olhe qual o nome do índice desse campo SEQUENCIA, por exemplo
FK_INDICE_SEQUENCIA e execute o seguinte SQL.
SET STATISTICS INDEX FK_INDICE_SEQUENCIA; -- substituindo logicamente
pelo nome correto

   Provavelmente isso deve resolver seu problema.Tente aí e dê um
feedback incluindo o PLAN pra saber se resolveu =)

   As mensagens dos outros colegas tem algumas considerações que você
talvez queira levar em consideração para aprimorar ainda mais o seu
código.

  Espero que ajude,




Mais detalhes sobre a lista de discussão lista