Fórum Velocidade do Firebird #279624
29/04/2005
0
Estou desenvolvendo um sistema onde entre outras coisas, tem orçamento e licitações de vendas (em um único form), quando começa a gravação dos ítens da venda em alguns momentos quando vai abrir uma consulta de um produto para verificação dos dados, demora 1 ou 2 segundos, e a gravação é instantanea.
Mas a partir de ter gravado 50 produtos na mesma venda ele começa a ficar mais lento e passa a demorar as vezes até mais de 10 segundo por consulta e a gravação uns 4.
Isso é comum ao Firebird? Ele é lento assim mesmo?
Tá certo que o cadastro de produtos já tem mais de 6000 produtos, mas nao acho que deveria estar tao lento com tao pouco registros, visto que a capacidade dele é tida como milionária.
Isso pode ser instalação errada, ou alguma outra coisa?
Alguem tem alguma dica? Por favor.
Agradeço antecipadamente qualquer ajuda.
Sandro
Salupe
Curtir tópico
+ 0Posts
30/04/2005
Raserafim
Gostei + 0
30/04/2005
Sremulador
Gostei + 0
01/05/2005
Salupe
Mesmo utilizando query seria bom eu ter indices?
Agradeço antecipadamente qualquer ajuda.
Gostei + 0
02/05/2005
Gandalf.nho
Gostei + 0
02/05/2005
Salupe
Se nao é assim e precisoutilizar um índice previamente criado, como eu o utilizo e quando o atualizo, e principalmente como indico o índice que será utilizado pela query no seu devido momento, ou seja, quando for chamado uma consulta.
Agradeço antecipadamente qualquer ajuda.
Gostei + 0
02/05/2005
Vinicius2k
A atualização é automática, apenas se vc quiser fazer a antiga ´reindexação´ vc pode desativar e ativar o índice ou efetuar um backup/restore.
Vc não precisa informar a query qual índice utilizar. O próprio IB/FB, através do otimizador de consultas, fará a seleção do melhor índice de acordo com a instrução SQL que lhe for enviada e criará o PLANo de execução para a query.
Se vc tiver ´bons´ índices irá contribuir assustadoramente para a performance das consultas, consequentemente da aplicação.
Em geral e basicamente, crie índices para : colunas utilizadas em ORDER BY e chaves estrangeiras utilizadas nos JOINs.
Um bom índice é um índice de boa seletividade, ou seja, menor número possível de registros com valores identicos dentro da coluna indexada.
Analise a instrução que será executada por uma query da aplicação dentro de uma query de uma ferramenta que permita a análise do PLAN e evite ao máximo o ´NATURAL´.
Isto irá lhe fornececer informações importantes se os índices ´ideais´ estão sendo utilizados.
Veja estes links:
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=268
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=148
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)