none
Melhorar tempo de acesso a base de dados RRS feed

  • Pergunta

  • Pessoal eu tenho uma aplicação vb.net (VS 2010) que accessa uma base Access a qual contem 250.000 registros. Um dos programas dessa aplicação tem uma Combobox (carregada por Databound) que esta demorando muito para mostrar a tela, acredito que esse alto tempo de resposta seja por causa da qtde de registros. Minha pergunta é se tem alguma coisa que eu possa fazer para melhorar esse tempo.

    Grato,

    Eduardo

    sábado, 28 de abril de 2012 00:24

Respostas

  • Eduardo, eu na realidade não sei como esta sendo feito esse SELECT visto que a Combobox eu carrego com o databound (não sei onde ele monta esse SELECT). Sim os itens estão indexados.

    Bruno, eu estive analizando melhor a aplicação e acompanhando o usuario e percebi que realmente eles acabam nem usando a combobox. Neste programa para obter os dados do produto o usuario pode seleciona-lo da combobox ou digitar o código e precionar ENTER que o programa faz uma pesquisa por esse código e traz os resultados tambem. Como todos os produtos possuem código de barras acabamos por desativar a combobox e usar um leitor de codigo de barras, assim o usuario le o codigo do produto com o leitor e a pesquisa é feita usando esse codigo especifico.

    O programa agora carrega bem rápido e a pesquisa tambem retorna bem rapida.

    Agradeço a todos pela ajuda.

    Eduardo


    • Marcado como Resposta E.Gameiro terça-feira, 1 de maio de 2012 15:59
    • Editado E.Gameiro terça-feira, 1 de maio de 2012 16:00
    terça-feira, 1 de maio de 2012 15:58

Todas as Respostas

  • Como esta sendo feito a consulta?

    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    sábado, 28 de abril de 2012 00:51
  • Amigo na verdade eu não faço consultas, o problema esta em uma combobox que contem o cadastro de produtos. Essa combobox carrega toda a tabela de produtos e essa tabela tem 250.000 registros, acredito que é isto que faz o programa demorar muito para abrir.

    Eduardo

    domingo, 29 de abril de 2012 21:19
  • Sim eu sei disso,mas eu quero saber como esta sendo feito este select?

    Os itens estao indexados?


    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    domingo, 29 de abril de 2012 21:30
  • Gameiro, o ideal nesse caso se realmente precisar trazer esses produtos em um Combo, é colocar um limite mínimo para a pessoal digitar o que quer nele e filtrar à partir do que foi digitado.

    Por exemplo, quando digitar no mínimo 4 letras ai você faz a consulta no banco. Você pode usar o autocomplete para com o a opção suggest para ficar melhor e virá bem menos registros.

    Creio eu que ninguém precisa de 250.000 itens de uma vez, mas se for o caso também pode jogar em um DataGridView e colocar um Textbox para filtrar o que quer.


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    MCC - Microsoft Community Contributor
    www.maestrodotnet.com.br
    @BrunoMaestro

    terça-feira, 1 de maio de 2012 04:18
  • Eduardo, eu na realidade não sei como esta sendo feito esse SELECT visto que a Combobox eu carrego com o databound (não sei onde ele monta esse SELECT). Sim os itens estão indexados.

    Bruno, eu estive analizando melhor a aplicação e acompanhando o usuario e percebi que realmente eles acabam nem usando a combobox. Neste programa para obter os dados do produto o usuario pode seleciona-lo da combobox ou digitar o código e precionar ENTER que o programa faz uma pesquisa por esse código e traz os resultados tambem. Como todos os produtos possuem código de barras acabamos por desativar a combobox e usar um leitor de codigo de barras, assim o usuario le o codigo do produto com o leitor e a pesquisa é feita usando esse codigo especifico.

    O programa agora carrega bem rápido e a pesquisa tambem retorna bem rapida.

    Agradeço a todos pela ajuda.

    Eduardo


    • Marcado como Resposta E.Gameiro terça-feira, 1 de maio de 2012 15:59
    • Editado E.Gameiro terça-feira, 1 de maio de 2012 16:00
    terça-feira, 1 de maio de 2012 15:58