Ich gehe davon aus, dass Sie den offiziellen von MySQL bereitgestellten JDBC-Treiber Connector/J.
verwenden
Sie weisen JDBC (und MySQL) ausdrücklich an, die Ergebnisse Zeile für Zeile mit statement.setFetchSize(Integer.MIN_VALUE);
zu streamen
Aus MYSQL-Dokumentation :
Jeder andere Wert als Integer.MIN_VALUE
für die Abrufgröße wird von MySQL ignoriert, und es gilt das Standardverhalten. Die gesamte Ergebnismenge wird vom JDBC-Treiber abgerufen.
Verwenden Sie entweder setFetchSize()
nicht , sodass der JDBC-Treiber den Standardwert verwendet (0
) oder setzen Sie den Wert auf 0
ausdrücklich. Verwenden Sie den Wert von 0
wird auch sicherstellen, dass JDBC keine MySQL-Cursor verwendet, was je nach Ihrer MySQL- und Connector/J-Version und -Konfiguration auftreten kann.