[SQL] vs [VBA] comparaison de tables et mise à jour
bonjour,
J'ai deux tables T1(A, B) et T2(C). Je souhaite comparer A et C et mettre C dans B lorsque A et C sont differents...
Là j'utilise des recordset qui ouvrent les tables T1 et T2 et je fais des rs.edit/rs.update pour les update de C, mais ça prend un temps fou (mes tables sont lourdes 100 000 pour T1 et 250 000 lignes pour T2). Est-ce une fatalité ou y a-t-il une méthode plus rapide que le parcours des tables en vba?
Il me semble que lancer du sql via le vba et encore plus long...
Re: [SQL] vs [VBA] comparaison de tables et mise à jour
Citation:
Envoyé par borisa
bonjour borisa,
J'ai deux tables T1(A, B) et T2(C). Je souhaite comparer A et C et mettre C dans B lorsque A et C sont differents...
Là j'utilise des recordset qui ouvrent les tables T1 et T2 et je fais des rs.edit/rs.update pour les update de C, mais ça prend un temps fou (mes tables sont lourdes 100 000 pour T1 et 250 000 lignes pour T2). Est-ce une fatalité ou y a-t-il une méthode plus rapide que le parcours des tables en vba?
Il me semble que lancer du sql via le vba et encore plus long...
Explique nous concrêtement comment tu rapproches les informations A et B. Soit précis, merci.
Sans savoir de quoi il retourne, je vois déjà 2 optimisations possibles, l'une pour VBA/DAO, l'autre pour le SQL.
[VBA / DAO]
Utiliser un index sur la table T2 pour des accès quasi instantanés.
Question: faut-il vraiment parcourir les 100 000 lignes de T1 ? Peut être seulement un sous-ensemble de T1 est-il impliqué ? D'où un gain possible.
[SQL]
Faire une requête UPDATE basée sur la jointure des enregistrements de T1 et T2, via le probable sous-ensemble de valeurs qui est commun à A et B (nécessaire pour le rapprochement des lignes).
A bientôt :)