Ir para o conteúdo
hdricard

Sincronizar 2 Bases de Dados??? Opiniões...

Mensagens Recomendadas

hdricard    0
hdricard

Boas.

Tenho uma aplicação em Deplhi que sincroniza dados entre Bases de Dados locais com Bases de Dados remotas (Local IBObjects/Firebird - Remoto MySQL).

Tenho vindo a notar que a sincronização têm ficado muito lenta à medida que os registos vão aumentando, o que é normal! Mas a minha sincronização está mesmo a ficar muito lenta!

Eu estoa a fazer a sincronização entre as bases de dados com codigo Delphi:

Percorro todos os registos de todas as tabelas e verifico se estes existem na outra base de dados. Se não existirem insere. Isto é feito tanto para a Base de Dados local como para a Remota!

Gostaria de ouvir algumas opiniões de como sincronizar bases de dados relativamente ao método e ao tempo que demora... Será que com instruções SQL será mais rápido, ...???

Agradeço qq tipo de resposta.

Obrigado

Hugo Ricardo

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
knightcoder    1
knightcoder

Olá,

Tenho alguma experiência nisto das "base de dados distribuidas".

O que normalmente faço, é em cada tabela tenho dois campos, um com o nº de sincronismo e outro com o nº da actualização.

O nº de sincronismo é apenas actualizado quando exporto e o nº de actualização é actualizado quando insiro ou edito um registo.

Depois para exportar, apenas vou seleccionar os registos que têm o nº de actualização superior ao nº de sincronismo

Claro que este nºs devem ser guardados numa tabela/generator para que fiquem sempre consistentes, e de preferência devem ser actualizados por triggers internos na basa de dados quando inseres/editas um registo.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade