PROCESSAR MASSA DE DADOS GRANDE VB.NET
Boa tarde Pessoal, estou desenvolvendo uma aplicação em vb.net em winforms, onde recupero mais de 300 mil linhas de um bd mysql, busco essas linhas via select com dataadapter e passo os dados para um datatable e a partir dai, preciso percorrer linha a linha do datatable, afim de atualizar algumas informações de determinadas colunas, a cada processamento de linha, tenho algumas subs, onde busco datas, número de notas fiscais, valores, etc. E após processar a linha faço o insert dela novamente no mysql com uma nova data efetiva e com os dados atualizados. Porém como a massa de dados a ser processada é grande e tende a aumentar, o processamento fica um pouco demorado. Gostaria da sugestão de vocês, para me indicarem alguma outra metodologia que eu possa usar, para acelerar o processamento destas linhas (datasets, windows service...). Lembrando que o programa winforms está sendo executado pelas maquinas na rede e acessando o bd no servidor.
Utilize o DataReader em vez do DataAdapter.
quote]:
Utilize o DataReader em vez do DataAdapter.[/quote]
Utilizar o datareader vai reduzir o consumo de memória e processamento, mas você já pensou em fazer uma paginação por exemplo?
Com a paginação no banco de dados, você consegue reduzir o tempo de retorno das informações. Outra coisa importante é a indexação, se banco de dados deve estar indexado corretamente, isto reduz muito o tempo das pesquisas.
Utilizar threads também irá te auxiliar no processamento.
Utilize o DataReader em vez do DataAdapter.[/quote]
Utilizar o datareader vai reduzir o consumo de memória e processamento, mas você já pensou em fazer uma paginação por exemplo?
Com a paginação no banco de dados, você consegue reduzir o tempo de retorno das informações. Outra coisa importante é a indexação, se banco de dados deve estar indexado corretamente, isto reduz muito o tempo das pesquisas.
Utilizar threads também irá te auxiliar no processamento.
vc precisa fazer insert da informação atualizada, ou um update já basta? da forma q diz penso eu q se ler 300K linhas, e pelo menos a metade é [Ô]atualizada[Ô], já seriam 450K linhas na próxima leitura, e isso se repetindo a cada leitura q não sabemos a frequência....
Opa tudo bem
Creio que se o banco a ser utilizado é mysql e se essa aplicação for apenas para mysql é melhor baixar o plugin para .net do mysql que esta no proprio site da mysql para visual studio que utiliza os comando para mysql.
Creio que o desenvolvimento da aplicação tem que ser OO porque se vai ter mais um ganho.
é isso ai......
Creio que se o banco a ser utilizado é mysql e se essa aplicação for apenas para mysql é melhor baixar o plugin para .net do mysql que esta no proprio site da mysql para visual studio que utiliza os comando para mysql.
Creio que o desenvolvimento da aplicação tem que ser OO porque se vai ter mais um ganho.
é isso ai......
Faça seu login para responder