Como posso deixar a minha aplicaçãp mais rapida??
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
Curtidas 0
Respostas
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
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
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
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
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.
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
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??
ha.. só uma pergunta, desculpa a minha ignorancia,mas, o q é Simple Data set??
GOSTEI 0
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...
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
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.
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
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
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.
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
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?
e como fica a alteração e exclusão dos registros?
GOSTEI 0
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
04/02/2005
e Mesmo assim as rotinas de Exclusão e Edição de dados continuam as mesmas?
GOSTEI 0