Duvida sobre carregamento dados DBEXPRESS
Tenha uma tabela em um banco ORACLE que possui +- 4milhoes de registro, estou mudando meu projeto de BDE para Dbexpress e estou tendo o seguinte problema:
Coloco a conexão do dbexpress, o dataset, datasetprovider e o clientdataset, só que qdo associo o clientdataset a uma grid por exemplo demora muito tempo para carregar os dados. Tentei definir no clientdataset a propriedade packet record e coloquei 100, ok, é carregado os dados de 100 em 100, daí inicialmente carrega rapido, só que qdo movimento para o ultimo ou primeiro registro demora muito novamente, chegando as vezes até a travar.
Alguem teria alguma dica para resolver este problema?
Preciso carregar os dados desta tabela na grid em um tempo bom e poder movimentar pela grid (salto para inicio e fim) sem travar.
Obrigado.
Coloco a conexão do dbexpress, o dataset, datasetprovider e o clientdataset, só que qdo associo o clientdataset a uma grid por exemplo demora muito tempo para carregar os dados. Tentei definir no clientdataset a propriedade packet record e coloquei 100, ok, é carregado os dados de 100 em 100, daí inicialmente carrega rapido, só que qdo movimento para o ultimo ou primeiro registro demora muito novamente, chegando as vezes até a travar.
Alguem teria alguma dica para resolver este problema?
Preciso carregar os dados desta tabela na grid em um tempo bom e poder movimentar pela grid (salto para inicio e fim) sem travar.
Obrigado.
Mfilho
Curtidas 0
Respostas
Joaoshi
25/03/2008
Colega, num primeiro momento acredito que você deveria criar algum filtro na sua tabela para evitar carregar os 4milhões de registros.
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0
Macario
25/03/2008
Olá [b:b6ec6f54ba]mfilho[/b:b6ec6f54ba], bom dia.
Como o colega [b:b6ec6f54ba]joaoshi [/b:b6ec6f54ba] citou o ideal é você trabalhar com no minímo um filtro aplicado.
Em qualquer sistema não existe necessidade de se mostrar 4 milhôes de registro na tela.
Esses registros correspondem à que tipo de dados?
Quando se sai de uma aplicação desktop (BDE) para client/server (dbExpress, etc), a estrutura utlizada nem sempre poderá ser a mesma.
Você deve criar pesquisas onde o usuário consiga filtrar o máximo possível.
Qualquer coisa estamos aqui. 8)
Como o colega [b:b6ec6f54ba]joaoshi [/b:b6ec6f54ba] citou o ideal é você trabalhar com no minímo um filtro aplicado.
Em qualquer sistema não existe necessidade de se mostrar 4 milhôes de registro na tela.
Esses registros correspondem à que tipo de dados?
Quando se sai de uma aplicação desktop (BDE) para client/server (dbExpress, etc), a estrutura utlizada nem sempre poderá ser a mesma.
Você deve criar pesquisas onde o usuário consiga filtrar o máximo possível.
Qualquer coisa estamos aqui. 8)
GOSTEI 0
Brunolspp
25/03/2008
O tráfego no datasnap é muito rápido, alias é mais rápido que as MiddleWares convencionais.
Você não precisa trafegar todos os registros de uma só vez, e existe um conjunto de boas práticas que aumentam a performance da sua aplicação.
No meu link de downloads gratuitos (http://cc.codegear.com/author/795118) tem uma apostila básica de desenvolvimento client/server com dbexpress, está bem passo a passo e bem simples, ela esta com o exemplo em firebird mas se aplica as mesmas coisas ao oracle. Tem outros exemplos lá também que podem ser úteis a você.
Na revista Active Delphi (www.activedelphi.com.br) deste mê está o inicio de 3 matérias minhas exatamente sobre estes assuntos, aborda as boas práticas o ClientDataSet e DBExpress bem como alguns segredo e truques importantes para o nosso dia a dia. Além disso tem uma promoção de aniversário bem legal da revista. Vale a pena olhar.
No link do Delphi Day On Line no DN (http://dn.codegear.com/br) tem um vídeo meu em português sobre DBExpress também.
E no mais, estamos as ordens.
Você não precisa trafegar todos os registros de uma só vez, e existe um conjunto de boas práticas que aumentam a performance da sua aplicação.
No meu link de downloads gratuitos (http://cc.codegear.com/author/795118) tem uma apostila básica de desenvolvimento client/server com dbexpress, está bem passo a passo e bem simples, ela esta com o exemplo em firebird mas se aplica as mesmas coisas ao oracle. Tem outros exemplos lá também que podem ser úteis a você.
Na revista Active Delphi (www.activedelphi.com.br) deste mê está o inicio de 3 matérias minhas exatamente sobre estes assuntos, aborda as boas práticas o ClientDataSet e DBExpress bem como alguns segredo e truques importantes para o nosso dia a dia. Além disso tem uma promoção de aniversário bem legal da revista. Vale a pena olhar.
No link do Delphi Day On Line no DN (http://dn.codegear.com/br) tem um vídeo meu em português sobre DBExpress também.
E no mais, estamos as ordens.
GOSTEI 0