Como é que eu faço tornar a minha aplicação mais rápida?

Delphi

20/06/2003

Boa tarde a todos.

Possuo um sistema feito em Delphi 5 e Mysql com conexão via ZEOS.
Atualmente, o meu sistema é composto de muitas tables e query´s. O mesmo só consegue rodar com o requisito mínimo de 32 Mb de Ram, e ainda sim se torna muito lento. Por aqui na minha região, existem sistemas que fazem praticamente a mesma coisa, mas conseguem rodar com 16 Mb de Ram e muito mais rápidos do que o meu sistema.

Nas consultas eu utilizo query´s e para gravar os dados eu utilizo table´s.
Para as consultas eu utilizo o seguinte código:
Query.close;
Query.sql.clear;
Query.sql.add(´select * from cliente where codigo =´´edit1.text´´ ´);
Query.sql.Open;
Em alguns momentos eu utilizo a linha query1.ParamByname(´campo´).AsFloat para fazer pesquisas com campos float e Date.
Para gravar eu utilizo bitbtn´s juntamente com o método Post da table.

Gostaria de saber como faço para a minha aplicação se tornar mais rápida? Existe algum macete com relação a rede? O modo de consultar está certo?

Desde já agradeço a paciência por terem lido esta redação.


Hacson Menezes

Hacson Menezes

Curtidas 0

Respostas

Isaac Cavalcanti

Isaac Cavalcanti

20/06/2003

qual e o banco da outras aplicacoes que sao mais rapidas? quantoas estacoes? servidor?


GOSTEI 0
Isaac Cavalcanti

Isaac Cavalcanti

20/06/2003

qual e o banco da outras aplicacoes que sao mais rapidas? quantoas estacoes? servidor?


GOSTEI 0
Isaac Cavalcanti

Isaac Cavalcanti

20/06/2003

qual e o banco da outras aplicacoes que sao mais rapidas? quantoas estacoes? servidor?


GOSTEI 0
Hacson Menezes

Hacson Menezes

20/06/2003

Uso o mesmo da maioria por aqui: Mysql e delphi 5. O mínimo de estações são 4 (sem servidor dedicado), a maioria com configuração de 16 Mb de Ram.


GOSTEI 0
Mauromarques

Mauromarques

20/06/2003

Você deve utilizr todos os executáveis rodando local mas máquinas e deixar que somente as informações circulem pela rede.


GOSTEI 0
Jf

Jf

20/06/2003

Olha estas a utilizar Stored Procedures? e os indices que crias-te são os indicados? Outra coisa, reparei que simplesmente fizes-te o ´Open´ do query, tenta fazer o ´Prepare´ dos querys antes de os executares.


GOSTEI 0
Jf

Jf

20/06/2003

Olha estas a utilizar Stored Procedures? e os indices que crias-te são os indicados? Outra coisa, reparei que simplesmente fizes-te o ´Open´ do query, tenta fazer o ´Prepare´ dos querys antes de os executares.


GOSTEI 0
Hacson Menezes

Hacson Menezes

20/06/2003

O Zeos não permite a função ´prepare´ para query


GOSTEI 0
Eduqsb

Eduqsb

20/06/2003

Ja enfrentei o mesmo problema seu amigo. A unica solução q achei (solução ñ, pois é a maneira mais correta) foi abrir as tabelas e as querys somente no momento que vc for utilizar. Por exemplo, não se precisa deixar a tabela como active := true logo na abertura do form. Vc deve abri -las somente qdo for utilizar. Recomendo não usar tabelas a toa, é preferivel utilizar Querys para trazer somente as informações realmente necessárias. Além disso, como nosso amigo disse acima, vc tem que criar índices para as tabelas. Outra solução para amenizar isso é diminuir ate o minimo o tamanho das colunas de sua tabela. Tudo isso esta no manual on line do MySql. Da uma olha da em www.mysql.com

Abraços,
Espero ter ajudado
Luis Eduardo Bueno


GOSTEI 0
POSTAR