GARANTIR DESCONTO

Fórum ClientDataset com DBF #270723

02/03/2005

0

Pessoal.
Uso banco de dados DBF no meu programa.
Tenho uns clientes que estao com um volume muito grade de dados, ai esta uito lento e trava as vezes chegando ate mesmo a nao gravar as nots fiscais qdo e cadastrada tendo q tentar cadastrar ate dar certo.

A solucao seria mudar de bd no caso Interbase por exemplo, so q nao to com tando tempo.

Gostaria de saber se eu usar o ClientDataset com DBF melhora o desempenho, se tem algum problema na gravacao dos dados.

Atenciosamente
agradeco a atencao.


M@rcelo

M@rcelo

Responder

Posts

02/03/2005

Dopi

Provavelmente NAO... pois quem cotinuará gravando fisicamente no DBF será o BDE. Verifique se está tudo correto no BDE.

Lembre-se que arquivos DBF´s que possuem muitos registros ´excluidos´ ficam lentos, pois o DBF não exclui fisicamente o arquivo até vc fazer um PACK no mesmo... Experimente fazer um PACK nas tebelas DBF...

Veja esse típoco: http://forum.devmedia.com.br/viewtopic.php?t=19181&highlight=pack+dbf


Responder

Gostei + 0

03/03/2005

M@rcelo

OK
ja tenho uma rotina de reinexa onde isto e feito.

Quando o usuario entra para fazer um cadastro eu abro a tabela (que e grande) para fazer a insersao de registros, o que gera um trafego grande na rede e faz ficar lento pros outros usuarios.

Eu gostaria de saber se por exemplo
eu ligar uma Query com parametros num Provider com um Clientdataset
para que traga o minimo de registros ou nenhum, so para eu fazer a Insersao de registros (dando um Applyupdates) se isso gera menos trafego na rede e agilizaria o processo.

Usando ate mesno o CliendDataset para buscar dados para gerar relatorios.

Obrigado pela atencao


Responder

Gostei + 0

03/03/2005

Dopi

Usar Query com DBF gera um trafego enorme na rede... pois o BDE irá criar tabelas temporárias com o resultado da query.

Use o TTable mesmo, pois nesse caso o S.O. gerencia o acesso ao arquivo, ao invez de ´baixar´ todo ele...

A exemplo. tenho bases de dados em DBFs (Clipper) com mais de 300.000 registros acessando sem problemas.


Responder

Gostei + 0

03/03/2005

M@rcelo

Ok
Obrigado


Responder

Gostei + 0

03/03/2005

M@rcelo

So +1 duvida
mesmo se eu der um slect do tipo
select campo1 from tabela where campo1=´xxx´;

mesmo neste caso é retornado todo arquivo em forma de arquivo temporario para exibir no cds.

Obrigado


Responder

Gostei + 0

03/03/2005

Dopi

Nao todo arquivo. Mas todos os registros que satisfação a condição campo1=´xxx´ ... Se forem poucos registros (1 a 100) fica rápido, caso contrário fica lento, mesmo usando IB/FB. Depende muito também do tamanho do registro.

Ou seja, a programação usando Select (Client / Server) deve sempre que possível retornar poucos registros.

No caso de DBFs em que não existe um Banco de Dados, o BDE faz o papel de banco de dados e cria arquivos temporários com resultados das querys...

Veja esse artigo do ´Aroldo Zanela´ sobre arquivos tremporários
http://www.forumweb.com.br/artigos/artigos.php?action=file&id=293


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar