MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Testes de Performance dos vários métodos de manipulação de registros

    criquio
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11228
    Registrado : 30/12/2009

    Testes de Performance dos vários métodos de manipulação de registros Empty Testes de Performance dos vários métodos de manipulação de registros

    Mensagem  criquio 3/7/2012, 19:11

    Aproveitando que o colega Avelino lembrou do DLookup com campos concatenados, resolvi criar um aplicativo para testarmos a performance de vários métodos de manipulação de registros. No exemplo temos algumas formas de inserção, atualização e exclusão de registros.

    Temos tambem exemplos com diversos métodos de consulta. Para isso, incluí uma tabela com os CEPs do Brasil e, para melhorar os testes, incluí mais 10 campos extras nessa tabela, afim de facilitar a compreensão de pesquisas com muitos dados.

    Observem que ao digitar um cep existente na tabela e dar Enter, os botões serão habilitados. Um deles faz a pesquisa utilizando DLookup campo a campo. O outro faz a pesquisa utilizando DLookup concatenado. O terceiro e quarto fazem a pesquisa utilizando Recordset com FindFirst e com filtro via SELECT.

    Observem que o DLookup linha a linha leva muito mais tempo para retornar o resultado. As outras três formas trazem o resultado quase que instantaneamente, embora o Recordset com FindFirst parece ser um pouco mais lento que os outros dois. Ou seja, pela ordem do mais rápido para o mais lento, me parece que fica assim:

    1 - DLookup concatenado e Recordset filtrado com SELECT * FROM;
    2 - Recordset com FindFirst
    3 - DLookup campo a campo - bem mais lento que os demais.

    Há um botão no formulário para limpar os resultados para continuar o teste com os outros métodos.

    No formulário de inserção, atualização e exclusão de registros, foram utilizados os métodos por Recordset e por SQL usando CurrentDb.Execute. Aqui há diferenças bem significativas entre os dois métodos e tambem há diferenças entre as ações. Por exemplo, para inserir registros e para atualizar, o Recordset se mostrou mais rápido, enquanto que, para excluir, o SQL com Execute supera de longe o método por Recordset, sendo que o primeiro é quase que instantâneo e o segundo leva vários segundos.

    Para esse formulário de inserção, atualização e exclusão de registros, tem uma outra tabela. Aconselho a fazer os teste com uma boa quantidade de registros. Digamos uns 10 milhões para os testes de exclusão e atualização. Para os teste de inserção, pode ser bem menos para facilitar as coisas. Há um campo para colocar a quantidade de registros a inserir.

    Tem tambem um formulário com uma listbox, utilizando o método de inserção por Loop em um Recordset no modo de lista de valores e utilizando SELECT no modo de "Table/Query". Aqui, o segundo método é extremamente mais eficiente. Enquanto o tempo gasto é quase nulo nesse, no primeiro leva-se vários minutos para preencher a listbox, alem da quantidade de linhas inseridas ser muito maior utilizando "Table/Query" e SELECT. Enquanto esse retorna 65.534 linhas, o outro traz pouco mais de 600.

    Baixe o exemplo e faça os testes.

    Comente, opine, fale das suas experiências no assunto.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Leandro
    Leandro
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    Testes de Performance dos vários métodos de manipulação de registros Empty Re: Testes de Performance dos vários métodos de manipulação de registros

    Mensagem  Leandro 3/7/2012, 22:33

    Muito instrutivo!
    Parabéns Críquio!


    Quando vejo esses modelos que você constroem e postam aqui, sinto-me no lugar certo para aprender.
    Tem horas que me questiono se sou competente a ponto de subir de nível aqui, ser um avançado ou quem sabe até mais, mas diante desses bancos e das soluções apresentadas, quando vejo meu mais recente banco de dados e os recursos que uso nele que comparados a isso, são pífios, sinto que ainda tenho um caminho a ser percorrido, mas que ainda chego lá!

    Luís Augusto
    Luís Augusto
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 129
    Registrado : 28/10/2011

    Testes de Performance dos vários métodos de manipulação de registros Empty Re: Testes de Performance dos vários métodos de manipulação de registros

    Mensagem  Luís Augusto 4/7/2012, 01:42

    Muito obrigado Críquio.
    Isso é realmente impressionante!
    marcelo marques
    marcelo marques
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 783
    Registrado : 12/04/2016

    Testes de Performance dos vários métodos de manipulação de registros Empty Re: Testes de Performance dos vários métodos de manipulação de registros

    Mensagem  marcelo marques 2/11/2019, 00:00

    Boa noite criquio você ainda tem este exemplo para eu adaptar ao meu sistema,gostaria de fazer alguns testes ao meu sistema .
    Abraço

      Data/hora atual: 4/3/2021, 17:56