[firebase-br] Qual situação vou obter melhor desempenho?

-=SchiavoR=- schiavor em uol.com.br
Qua Jun 29 11:36:27 -03 2005


Ae galera blz?

Tenho a seguinte situação:

Um pequeno banco Firebird 1.5 local, que deve fazer um processamento de 
um grande tráfego de informações.

Tenho uma tabela de cadastros que sofre poucas modificações, porém em 
minha aplicação esta tabela é consultada com muita frequência, algo em 
torno de umas 10 vezes por segundo.

Levantei duas possibilidades de tratar isto.

1- Fazer uma Stored Procedure que será executada muitas vezes e deixar o 
trabalho da consulta por conta do banco.

2- Trazer em um ClientDataSet todos os registros da tabela, e fazer um 
locate várias vezes nele, e a cada intervalo de hora fechar o 
ClientDataSet e abrir novamente para atualizar os dados locais.

Problemas: Como este banco sofre várias consultas ele também sofre muita 
inserções, cerca de 1000 por minuto, se utilizar Stored Procedure existe 
a possibilidade de lentidão nesta consulta, visto que isto não pode 
ocorrer, uma vez que se for positivo a consulta devo dar uma resposta em 
menos de 700 milisegundos.

Qual das situações acima seria melhor para este problema? Se alguem 
tiver uma outra solução por favor sinta-se a vontade para sugerir.


Obs: Como este assunto envolve Banco de Dados e Delphi, estou enviando a 
dúvida para duas listas, se alguem for assinante das duas e receber a 
mesma mensagem novamente, por favor me desculpe.

[ ]'s Rodrigo Schiavo





Mais detalhes sobre a lista de discussão lista