Bonjour,
j'ai un problème d'optimisation de requete SQL;
j'ai besoin de faire une comparaison entre 2 tables sur des critères qui contient a peu près les même champs;
les critères de comparaisons :
1 2
| TABLE1 : ref1, code1, commande1, date1
TABLE2 : ref2, code2, commande2, date2 |
je veux sélectionner les lignes de Table1 qui ont la date1=null
puis sur ce résultat je veux je veux faire la comparaison :
ref1=ref2 et code1=code2 et commande1=commande2 et date2=null
la requête actuelle est :
1 2
| select * from TABLE1
where date1 is null |
le résultat est mis dans resultSet pour la comparaison avec TABLE2
pour chaque ligne dans resultSet :
1 2 3 4 5
| select * from TABLE2
where ref2=resultSet.getString("ref1")
and code2=resultSet.getString("code1")
and commande2=resultSet.get("commande1")
and date2 is null |
la requête fonctionne très bien,
le problème c'est quelle mis beaucoup de temps.
je veux votre avis sur cette requête sinon une autre plus performante :
1 2 3 4 5 6
| select * from TABLE1, TABLE2
where ref1=ref2
and code1=code2
and commande1=commande2
and date1 is null
and date2 is null |
j'ai pas essayé cette requête (je ne peut pas pour l'instant),
sinon une idée
Merci d'avance
Partager