Bonjour,
je veux synchroniser 2 tables de structures identiques d'une base de données , une distante et une locale. Pour ce faire, je charge 2 champs de chaque table, ('id' et 'datestamp') dans 2 objets différents (Array of record, arrLoc et arrDst) puis je les compare ce qui me permet de construire 3 Strings : slINS, slUPD et slDEL qui correspondent aux actions engagées ensuite par le query dans la table cible (insertion, update ou suppression).
Je cherche à optimiser la procédure de comparaison des 2 objets. Que le premier objet ne soit pas trié est indifférent. Mais pour le second, pour les méthodes de comparaisons (recherche d'un enregistrement), j'en suis resté à l'obligation de celle de tris (rangé par ordre croissant).
Je précise que mes 'id' ne sont pas des entiers mais des chaînes : pour avoir subi des désagréments avec des id auto-incrémentés, j'ai préféré un système de chaînes.
Concrètement, la méthode lit un id de arrLoc et le cherche dans arrDst. Soit il n'existe pas dans arrDst (>>slINS), soit il existe et je compare les 'datestamp'. C'est la méthode de recherche que je cherche à optimiser et je pense qu'elle est dépendante de la nature de l'objet arrDst. Je ne sais pas si un array of record est le plus adapté.
Merci. Zac
Partager