Melhor forma de pesquisar com C# e MySql

06/08/2012

0

Pessoal, preciso fazer o seguinte. Ler uma planilha excel e comparar com o conteudo de uma tabela no BD. Acontece, que no BD eu tenho 1763 registros e na planilha 65.000 linhas. OU seja, eu pego uma linha, e vou dando(1763) selects até eu achar a coincidência e isso por 65.000 vezes. Deram pra ver que é praticamente inviável realizar essa tarefa, pelo menos, extremamente lenta, pois praticamente para cada busca, uma chamada ao banco e etc... o que já demanda tempo. A minha pergunta é: Creio que alguém aqui já passou por isso ou parecido e s quer compartilhar conosco no forum sua experiência. E ainda tem mais um agravante que entrou hoje. Na planilha temos uma sequencia numérica, mas nas tabelas para alguns clientes, possuimos máscaras com pontos e hifens. Isso só piora as coisas. Gostaria de idéias ou caminhos em como fazer isso de forma mais eficaz e rápida. Obrigado a todos.
Pjava

Pjava

Responder

Posts

06/08/2012

Joel Rodrigues

EXPERIMENTE carregar os dados do banco para uma lista local e fazer a consulta com LINQ To Objects para ver a diferença no desempenho.
Responder

06/08/2012

Valter Furtado

Na teoria, o local ideal para tal pesquisa é no banco... uma vez que nele o retorno é muuito mais rapido por ser um processo interno.

Você trazer 65000 registro e fazer as consultas vai ser extramamente lento.

Tente usar Stored Procedures e funcões do banco para otimizar a consulta, mas trazer os resultados e pesquisar com Linq vai ser muito lento.
Responder

06/08/2012

Rodrigo Odasaki

Só uma observação.

No banco existem 1763 registros e não 65 mil.
Eu retornaria um List de objetos! e na aplicação faria a comparação.

A minha dúvida é, isto vai ser feito apenas 1 vez? Caso seja o usuário que deva realizar este procedimento, não existem filtros nestas tabelas?
Responder

06/08/2012

Pjava

Isso já é com filtro de data e por cliente. O banco todo tem 88.000 registro. Eu só não fiz com BD direto, pq não sei trazer para o MySql dados direto de uma Planilha. Por isso apelei para o C#, mas tá muito lento.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar