Bonjour,

J'ai une requête plutôt simple du genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT MaColonne1,MaColonne2,MaColonne3 FROM MaTable WHERE .....
Le tout d'une application vers une BD ACCESS 2003.

La requête retourne entre 60 et 70 000 lignes.

J'arrive à obtenir mes données sans problème, sauf que l'application semble rester coincé au dernier res.next() même si je ne fais qu'afficher qu'un system.out.println();

Il affiche les 70 000 getDates() en 3 secondes, et reste coincé 3 minutes sur le dernier next()...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
  ResultSet res = statement.executeQuery("SELECT MaColonne1,MaColonne2,MaColonne3 FROM MaTable WHERE .....");
 
 while (res.next()) {
           System.out.println("next... "+getDateTime());
}
System.out.println("fin next... "+getDateTime());
Résultats ( J'ai mis que le dernier next et le fin next ) :

next... 2014-11-03 11:22:21.2221
fin next... 2014-11-03 11:24:34.2434
Plus le nombre de données et long et plus le temps entre le dernier next et la sortit du next est long.
À 70 000 donné, ça prend presque 3 minutes avant de sortir.

Est-ce normal ? Qu'est-ce qui peux causer sa et surtout, auriez-vous une idée pour faire en sorte que le dernier next qui retourne false, ne prenne pas autant de temps.

Merci !!!