Gourous de la DB,
J'espère que quelqu'un pourra me mettre sur la bonne voie.
J'ai deux tableaux. La table A et la table B. Lorsque le système démarre, toutes les entrées de la table A sont massées et copiées dans la table B (selon le schéma de la table B). La table A peut contenir des dizaines de milliers de lignes.
Pendant que le système est en service, la table B est maintenue en synchronisation avec la table A par le biais des notifications de modification de la base de données.
Si le système est redémarré, ou si mon service est redémarré, je veux réinitialiser la table B. Cependant, je veux le faire avec le moins de mises à jour possible de la base de données. Plus précisément, je veux :
- ajouter toutes les lignes qui figurent dans le tableau A, mais pas dans le tableau B, et
- supprimer toutes les lignes qui ne figurent pas dans le tableau A, mais dans le tableau B
- toutes les lignes communes aux tableaux A et B doivent être laissées intactes
Je ne suis pas un "spécialiste de la base de données", et je me demande donc quelle est la manière conventionnelle de procéder.