Fórum SimpleDataset e Packetrecords #276824
12/04/2005
0
Colegas,
Estou usando o simpledataset em um loop para criticar um arquivo. O arquivo tem bastantes registros e a medida que ele vai lendo, vai ficando mais lento. Estou tentando usar o packetrecords, inicialmente coloquei 1000 e nada modificou, depois de um tempo continuou com a mesma lentidão. Então coloquei 100 e após chegar em 200 saiu por eof, coloquei 500 e após 1000 saiu por eof.
Gostaria de saber o que estou fazendo de errado e como devo usar o packetrecords de forma que a critica do meu arquivo seja mais rápida.
Grato pela atenção,
Estou usando o simpledataset em um loop para criticar um arquivo. O arquivo tem bastantes registros e a medida que ele vai lendo, vai ficando mais lento. Estou tentando usar o packetrecords, inicialmente coloquei 1000 e nada modificou, depois de um tempo continuou com a mesma lentidão. Então coloquei 100 e após chegar em 200 saiu por eof, coloquei 500 e após 1000 saiu por eof.
Gostaria de saber o que estou fazendo de errado e como devo usar o packetrecords de forma que a critica do meu arquivo seja mais rápida.
Grato pela atenção,
Rookie
Curtir tópico
+ 0
Responder
Posts
12/04/2005
Yallebr
O PackegeRecord limita o número de registros que serão trazidos. Basta coloca o número dele.
Mas acho que a solução vai estar em formatar seus SQL de pesquisa, eles devem estar lentos ou ruins.
Detalhe melhor o q vc quer.
Mas acho que a solução vai estar em formatar seus SQL de pesquisa, eles devem estar lentos ou ruins.
Detalhe melhor o q vc quer.
Responder
Gostei + 0
12/04/2005
Rookie
Yallebr,
Obrigado por me responder. Eu sei que o Packetrecords limita o número de registros que são trazidos para leitura e é exatamente disto que preciso, porém o que está acontecendo é que se coloco o Packetrecords = 500 ele está me trazendo 500 iniciais, depois mais 500 e aí sai por EOF. Fetchondemands é true por default, portanto não sei pq ele está saindo por EOF e o que devo fazer para ele ir até o final real. Fiz um teste colocando Fetchondemand = false e ele trouxe só 500, como esperado. O que está faltando para que esta rotina funcione? O sql é normal ´Select * from Tabela´ , só que esta tabela tem bastantes registros. O packet records me parece a melhor solução, mas preciso fazê-lo funcionar.
Obrigado por me responder. Eu sei que o Packetrecords limita o número de registros que são trazidos para leitura e é exatamente disto que preciso, porém o que está acontecendo é que se coloco o Packetrecords = 500 ele está me trazendo 500 iniciais, depois mais 500 e aí sai por EOF. Fetchondemands é true por default, portanto não sei pq ele está saindo por EOF e o que devo fazer para ele ir até o final real. Fiz um teste colocando Fetchondemand = false e ele trouxe só 500, como esperado. O que está faltando para que esta rotina funcione? O sql é normal ´Select * from Tabela´ , só que esta tabela tem bastantes registros. O packet records me parece a melhor solução, mas preciso fazê-lo funcionar.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)