Como posso deixar a minha aplicaçãp mais rapida??

Delphi

04/02/2005

OLá amigos, eu desenvolvi um sistema para controle deTurmas, direcionado para escolas, mas eu tenho um cliente que já tem mais de 5.000 alunos cadastrados eo programa fica muito lerda para abrir. leva quase 30segundos, isso para o cliente é uma eternidade.. o banco é o Interbase 6, tem como ficar mais rápido??


Daniel Martins

Daniel Martins

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

04/02/2005

O sistema abre toda a tabela de uma vez só? Se sim, use a cláusula WHERE para filtrar registros antes de abrir a tabela. O sistema é em rede? Qual o sistema operacional?


GOSTEI 0
Daniel Martins

Daniel Martins

04/02/2005

o Sistema operacional é Win98 e XP e está sim em rede, Acontece que eu Filtro por nome, mas mesmo assim eu preciso abrir a tabela para poder alterar,gravar, excluir dados.


GOSTEI 0
Cruel

Cruel

04/02/2005

parece que vc deixa criar os formularios no inicio do sistema. caso positivo, vc pode ter o controle de criar os formulários, deixando apenas o formulário principal e o de senha(caso tenha esse formulário) para criar autómatico. Vá em project - options e coloque os formularios na opcão available forms. Depois quando for chamar um formulario use o codigo:
form1 := Tform1.create(self);
form1.showmodal;
form1.free;
faça isso um por vez, testando cada um, tem alguns formularios que constumam dar problemas.
Lembre-se: toda vez que fizer referencia a um formulario que vc tem o controle de criar, vc tem que colocar as linhas acima


GOSTEI 0
Yallebr

Yallebr

04/02/2005

Amigo,


Estou com um sistema com MySQL com 50.000 registros, e tudo está funcionando mais rápido que outro sistema com 1000 registro em Paradox. E muito mais rápido.

Além do banco ser mais rápido. Eu utilizo SimpleDataSet e trago apenas o que preciso do servidor, uso banco uniderional e não abro as tabelas com informações que não necessárias.

Seu problema não será com velocidade de formulário, mas sim com acesso a banco de dados. Pense em fazer sua aplicação de forma multi camadas para resolver esse problema.

Outra coisa, esquece Filtro (filter).
O banco de dados é bom o problema está com sua programação.

Veja bem isso.

Abraços.

Yalle Cunha.


GOSTEI 0
Daniel Martins

Daniel Martins

04/02/2005

já tentei usar mysql, mas deu ums problemas , dai eu desisti e voltei para o interbase, mas vou ver o que da pra fazer, com relação aos forms, eu crio eles só quando preciso ,já faço isso , acho que o problema é esse,.. valeu a ajuda amigos
ha.. só uma pergunta, desculpa a minha ignorancia,mas, o q é Simple Data set??


GOSTEI 0
Nandolh

Nandolh

04/02/2005

Com certeza o seu cadastro de alunos deve estar acessando a tabela da seguinte forma --> Select * from Alunos

Vc usa os componentes da paleta Interbase? Se sim troque para dbExpress.
Utiliza muitos campos Lookup? Tipo Cidade, turma? Desabilite-os e faça um teste.

Temos tabelas com 400.000 registro e o Firebird 1.52 dá conta do recado e ainda tira uma folguinha!! :D

Dica:
Verifique índices da tabela...


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

04/02/2005

[quote:d95d8fdb33=´DAniel S Martins´]
ha.. só uma pergunta, desculpa a minha ignorancia,mas, o q é Simple Data set??[/quote:d95d8fdb33]
Colega,

Qual versão do Delphi você está usando?
O componente SimpleDataSet foi implementado no Delphi 7. Ele é a combinação de quatro componentes existentes: SQLConnection,
SQLDataSet, DataSetProvider, and ClientDataSet.


GOSTEI 0
Daniel Martins

Daniel Martins

04/02/2005

Na verdade a eu uso dbXpress e Sqldataset estilo table e clientDataset uso os 4 componentes. mas isso das lookup é uma verdade tem um monte de lookup...


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/02/2005

[quote:f8d21904f9=´DAniel S Martins´]Na verdade a eu uso dbXpress e Sqldataset estilo table e clientDataset uso os 4 componentes. mas isso das lookup é uma verdade tem um monte de lookup...[/quote:f8d21904f9]

Taí o problema, não use lookup, monte a SQL para incluir os campos das outras tabelas que você vai usar.


GOSTEI 0
Daniel Martins

Daniel Martins

04/02/2005

Bah! eu acho que eu faço diferente, tipo, eu não utilizo sql, eu utilizo o componente SQLdataSet como table,então não preciso colocar comando sql pra isso. o q vcs estão dizendo é para tirar isso e substituir por sql??

e como fica a alteração e exclusão dos registros?


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/02/2005

Em vez de usar só o nome da tabela no componente, monte uma SQL na propriedade CommandText


GOSTEI 0
Daniel Martins

Daniel Martins

04/02/2005

e Mesmo assim as rotinas de Exclusão e Edição de dados continuam as mesmas?


GOSTEI 0
POSTAR