SQL - Rede - Lentidão

04/12/2003

1

O negócio é o seguinte

[b:d0a97e581a]Servidor:[/b:d0a97e581a]
Atlhon 1800 - 128 Ram - Windows XP

[b:d0a97e581a]Estação:[/b:d0a97e581a]
PIII 700 - 128 Ram - Windows 98

[b:d0a97e581a]Sistema desenvolvido em delphi 3.[/b:d0a97e581a]
[b:d0a97e581a]Banco de Dados: [/b:d0a97e581a]Paradox (20 mb), contendo muitos memos em cada registro.
[b:d0a97e581a]Funcionamento:[/b:d0a97e581a]
Na primeira tela tenho um grid que é preenchido com uma query através do seguinte sql:
[i:d0a97e581a]With TAb.Query Do
begin
Close;
if strtoint(livros.text) < 100 then
SQL.text:=´Select termo,livro,folha, data, nome,outorgantenome,outorgadonome,numerado from tabprocura where excluido=false and tipo = true and numerado = false or livro = ´+chr(39)+livros.text+chr(39)+texto;
if strtoint(livros.text) > 100 then
SQL.text:=´Select termo,livro,folha, data, nome,outorgantenome,outorgadonome,numerado from tabprocura where excluido=false and tipo = false and numerado = false or livro = ´+chr(39)+livros.text+chr(39)+texto;
Open;
end;

Sendo que texto normalmente é: order by livro,folha
[/i:d0a97e581a]


[b:d0a97e581a]Agora o que está acontecendo:[/b:d0a97e581a]

[u:d0a97e581a] 1ª Situação: [/u:d0a97e581a]

Servidor: Não esta rodando nenhum programa feito em delphi:
Estação: Sql abre rapidamente sem problemas

[u:d0a97e581a] 2ª Situação: [/u:d0a97e581a]

Servidor: Rodando qualquer outro programa feito em delphi e/ou o mesmo da estação
Estação: Sql leva mais de 30 segundos para abrir.



Quando saio dos dois programas entro na estação novamente (como na primeira situação) roda tudo beleza.
Executo um programa no servidor (como na segunda) para tudo novamente.

Preciso imensamente de ajuda neste tópido, parece besteira mas perderei um cliente se nao resolver isto hoje ainda, e é um bom $$$ cliente.

Agradeço imensamente vossa ajuda.


Responder

Posts

04/12/2003

Mente

1- A foto não entendi. - brincadeirinha
2- O uso de banco de dados de processamento local, causa realmente isto. Não existe um SGDB por traz para processar o SQL, consequentemente o que ocorre é um entupimenta da rede pelo tráfego. Na verdade o Select é executado em cada estação. Quanto mais concorrência mais lentidão.
3-Solução 1 - Dividir a aplicação em mais uma camada. Esta camada ficaria junto ao banco de dados, funcionando como um filtro.
4- Solução 2 (ótima) abondone um Paradox e use Interbase/FireBird. se possível use também a dica anterior.

laercio@digirio.com.br
www.digirio.com.br
(21) 2233 8967


Responder

04/12/2003

Pericles Netto

Caro Mente...

Infelismente nao tenho tempo para migrar o sistema...
Preciso fazer funcionar e depois migrar...

Mais Obrigado....
obs: camadas? :cry: não sei utilizar


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira