Streaming großer Ergebnismengen mit MySQL
Beim Umgang mit umfangreichen MySQL-Tabellen innerhalb einer Spring-Anwendung kann eine OutOfMemoryException auftreten, wenn der Treiber dies anstrebt Laden Sie die gesamte Tabelle in den Speicher. Einstellung Statement.setFetchSize(Integer.MIN_VALUE); reicht möglicherweise nicht aus, da dies lediglich einen Hinweis auf den JDBC-Treiber liefert.
Um das Streaming von Ergebnismengen im MySQL-JDBC-Treiber zu ermöglichen, ist ein umfassenderer Ansatz erforderlich:
Erstellen Sie eine Erklärung Instanz:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
Abrufgröße festlegen:
stmt.setFetchSize(Integer.MIN_VALUE);
Vorsichtsmaßnahmen :
Diese Methode hat bestimmte Vorbehalte:
Zusätzliche Erkenntnisse:
Beachten Sie für weitere Strategien zum Umgang mit großen Ergebnismengen diese verwandte Frage und ihre Antwort: [Link zu ähnlicher Frage].
Das obige ist der detaillierte Inhalt vonWie streame ich große MySQL-Ergebnismengen im Frühjahr, um OutOfMemoryError zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!