Como é que eu faço tornar a minha aplicação mais rápida?
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.
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
Curtidas 0
Respostas
Isaac Cavalcanti
20/06/2003
qual e o banco da outras aplicacoes que sao mais rapidas? quantoas estacoes? servidor?
GOSTEI 0
Isaac Cavalcanti
20/06/2003
qual e o banco da outras aplicacoes que sao mais rapidas? quantoas estacoes? servidor?
GOSTEI 0
Isaac Cavalcanti
20/06/2003
qual e o banco da outras aplicacoes que sao mais rapidas? quantoas estacoes? servidor?
GOSTEI 0
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
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
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
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
20/06/2003
O Zeos não permite a função ´prepare´ para query
GOSTEI 0
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
Abraços,
Espero ter ajudado
Luis Eduardo Bueno
GOSTEI 0