Bonjour,
J'ai besoin de mettre à jour plusieurs lignes dans une table:
. la mise à jour se fait chaque fois par rapport à une colon différente ( par fois la mise à jour se fait en prenant "mobile" comme référence, par fois email ...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 contact(id, nom, prenom, mobile, tel, email, fax)
Au lieux de lancer une requête pour chaque mise à jour j'ai créé une table temporairedans laquelle j’insère les contacts à jour puis je lance la requête suivante (cas où le critère d'identification est l'email):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 contact_temp(id, nom, prenom, mobile, tel, email, fax)Le problème c'est que cette requête est trop lente surtout si le nombre de contacts à mettre à jour est de l'ordre de 20000.
Code : Sélectionner tout - Visualiser dans une fenêtre à part update contact c, contact_temp c_t set c.nom=c_t.nom, c.prenom=c_t.prenom, c.mobile=c_t.mobile, c.tel=c_t.tel, c.email=c_t.email, c.fax=c_t.fax where c.email=c_t.email
Y a t il d'autres alternative ou devrais-je modifier la requête pour améliorer les performance?
BN: j'utilise java/JDBC.
Merci d'avance.
Partager