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







Répondre avec citation
Partager