accélérer la comparaison de tables
Bonjour,
j 'ai développé un pogramme en VB qui fait un back up quotidien de certaines bases sur plusieurs serveurs.
Pour ce faire je dois comparer le contenu des tables que je vais répliquer avec celui des tables "back upés" afin de voir si les tables ont été modifiées durant la journée.
Si c est le cas, alors le back up commence.
tout d abord je decoupe ma table en "sections" d'enreg
je fais donc un
Code:
SELECT INTO MonFichier FROM ... where enreg < X and enreg > X
sur le serveur source et idem sur le serveur cible.
ensuite je calcule le hash de ces fichiers. si ils sont identiques, je passe à la section suivante. Sinon cette section d enregistrement sera back upée.
Mon programme marche correctement, mais la comparaison des données est parfois lente (surtout pour les tables de plusieurs millions d enreg...)
ma question:
connaissez vous une méthode plus rapide pour comparer et isolé les enregistrements?????
par avance merci.
Re: accélérer la comparaison de tables
Qu'est-ce que tu penses de ça? :
Code:
1 2 3 4 5 6 7 8 9
| SELECT matableA.*
INTO fichier.txt
FROM matableA
LEFT OUTER JOIN matableB ON (matableA.id=matableB.id)
WHERE matableA.champ1 != matableB.champ1
OR matableA.champ2 != matableB.champ2
OR ...
LIMIT 0, 100 |
Ici, on ne relève que les enregistrements qui ont changé et on fait un découpage de 100 en 100 (condition du LIMIT)