Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

flavioavilela

[Resolvido] usar ou nao usar datamodule

Recommended Posts

boa tarde a todos...

já me disseram muitas vantagens e desvantagens sobre usar ou nao usar DataModule em uma aplicação... eu sei que, usando datamodule, na abertura do sistema ou em outras operações, o sistema fica mais lento, pois, ao executar o programa, o dm já é carregado e consequentemente todas os dados tbm e isso é uma desvantagem em usar.... mas e ai, alguem pode corrigir oq eu falei e/ou falar mais vantagens e/ou desvantagens????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, pelo que você me disse, o DM ja carrega os dados na execução do aplicativo. Bom, a vantagem ou desvantagem depende do numero de registros que estão no banco. Se forem muitos dados, isto pode causar lentidão e falta de memória. Mas se forem poucos dados, não vejo por que não utilizar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lentidão depende de alguns fatores: o tamanho do seu banco e a forma como você está utilizando seu datamodule... se você usa muitos componentes do tipo Table e abre todos eles ao mesmo tempo na abertura do programa, com certeza isso afetará a performance da inicialização, pois você estará copiando toda a sua base de dados.... eu sempre que uso datamodules uso ele para economizar o uso de componentes de manipulação ao bd... dependendo da aplicação tudo o que eu preciso no datamodule são componentes para conectar ao banco e duas ou três TADOQuerys: uma para fazer buscas, uma para montar minhas querys/chamadas de procedure para manutenção de dados e uma auxiliar para alguns casos específicos... como todas as minhas telas acessam os mesmos componentes, ganho tempo por não precisar ficar criando e configurando N vezes os mesmos componentes e não perco performance porque não uso Tables. Como não há como analisar seu sistema para dar idéias de melhoria, fica a seu critério decidir se vale ou não vale a pena usar o datamodule.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

é, pelo que estou vendo, é melhor colocar as adoquerys em seu determinado form, pois assim, eu terei os dados somente quando precisar e quando fechar o form, destruo a query sem deixar nada na memória... se o programa estiver "inativo", nao pesará nem terá dados nele... claro que eu posso carregar o DM com as adoquery fechadas, mas em um sistema grande com mtas adoquerys, agente sempre acaba esquecendo uma lá outra ca, ai pesa sem agente ver... nao é isso???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pense assim: quando você abre seu programa, o que você precisa manter sempre aberto? A conexão ao banco e mais nada.... você só abre uma consulta quando precisa e depois ao finalizar dá um free no form após dar um close em todas as querys que usou... ou seja, você só alocou memória para elas 1 vez, já que elas estarão criadas e disponíveis quando precisar no sistema pois foram criadas junto com o datamodule... o que elas ocupam de memória quando fechadas é insignificante, já o que elas alocam de memória em consultas varia de acordo com o retorno da sua query... a idéia do datamodule é retirar componentes dos forms e centralizar sua criação e destruição em um só lugar, diminuindo o tamanho do seu exe (menos componentes usados, programa menor)... o custo de processamento depende de como você usa os componentes que colocou no datamodule.... lembre-se que as adoquerys não precisam ser abertas ao abrir o exe, só quando você precisar em um form X... e se você fechar o form e liberar o mesmo da memória, fechando também as querys que usou, o sistema não vai comer memória tanto assim.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.