Fórum Fazer consultas no banco com 2 timer #368431

15/02/2009

0

Olá,

Tenho uma aplicação que vai usar 2 timers para fazer consultas no banco de dados. O primeiro timer vai fazer uma consulta SQL de minuto em minuto numa tabela e o outro timer vai fazer uma consulta SQL de 10 em 10 segundos em outra tabela. Gostaria de saber se isso (2 timers fazendo consultas ao mesmo tempo) pode causar algum problema na minha aplicação?

OBS; minha aplicação usa firebird com ibx e roda em rede local.


L_carlos

L_carlos

Responder

Posts

15/02/2009

Paullsoftware

vai causar um alto consumo da rede, pode até causar perda de dados devido ao excesso de carga existente na rede, uma vez que pode acontecer o congestionamento da mesma...

Thread não seria uma solução? :roll:


Responder

Gostei + 0

15/02/2009

Steve_narancic

O Ibx possui um componente chamado ibevents, que pode ser utilizado para detectar eventos no banco de dados, ou seja, vc poderá efetuar a pesquisa somente quando tiver alguma alteração na tabela, assim não congestiona sua rede e evita consultas desnecessárias


Responder

Gostei + 0

15/02/2009

Steve_narancic

da uma pesquisada no site da devmedia, se não me engano tem uma vídeo aula que ensina a usar esse componente


Responder

Gostei + 0

15/02/2009

L_carlos

Certo, vou pesquisar sobre esse componente. Mas acontece que eu tenho uma aplicação que usa um timer para fazer uma consulta sql de minuto em minuto no banco e que já roda há varios meses em varias redes locais e nunca tive nenhum problema com ele.

Luiz


Responder

Gostei + 0

15/02/2009

Steve_narancic

sim, mas não concorda que fazer a pesquisa somente no momento em que for necessário atualizar os dados é bem melhor?

pode me add no msn, posso te dar algumas dicas referente como utilizar o ibevents.


Responder

Gostei + 0

18/02/2009

Alexcyberstar

Ola pessoal,

tenho uma aplicação assim identica com Querys executadas atraves de Timers, que disparams a cada segundo gerando em runtime um Query para verificação de registos existentes com HH:MM:SS = HoraActual despoletando se existentes determinada acção, no meu caso o trafego de informação é muito reduzido pois apenas confirmo registos a cada segundo para obter a lista de IDs para localmente executar determinadas acções.

De qualquer forma nessa tua aplicação desde que as maquinas tenham recurso para bombar Querys ate mais nao, nao deveras ter problemas, deves ter em atenção outros trafegos possiveis existentes na rede que causem atraso e trabalhar a comunicação e a estrutura da base de dados para boa segurança e fiabilidade.

Outro método se for aplicavel poderá ser atraves do uso de Clientdataset carregando nele a informação necessaria para processar localmente as querys necessarias usando o ´Filter´ e carregar novamente so quando existirem novos eventos de actualizaçao de dados.

De qualquer forma ficam as dicas e so mesmo testando e analisando varias possibilidades comparando desempenho e execuçao entre elas conseguiras obter o melhor metodo para essa tua aplicaçao.

Cumprimentos e boas programações :)


Responder

Gostei + 0

19/02/2009

L_carlos

vlw Alexym eu estou testando o programa com 2 timer em uma rede com mais de 40 maquinas e até agora não tive problemas. Eu acredito que não vai influir no desempenho porque as 2 consultas que os timer fazem retornam poucos registros (no maximo 30).

Luiz


Responder

Gostei + 0

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

Aceitar