Transmisión de grandes conjuntos de resultados con MySQL
Cuando se trabaja con tablas MySQL extensas dentro de una aplicación Spring, puede surgir una excepción OutOfMemoryException cuando el controlador intenta cargar toda la tabla en la memoria. Configuración de declaración.setFetchSize(Integer.MIN_VALUE); puede no ser suficiente, ya que esto simplemente proporciona una pista para el controlador JDBC.
Para habilitar la transmisión de conjuntos de resultados en el controlador JDBC de MySQL, se requiere un enfoque más completo:
Crear una instancia de declaración:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
Establecer la recuperación Tamaño:
stmt.setFetchSize(Integer.MIN_VALUE);
Precauciones:
Este método tiene ciertos advertencias:
Información adicional:
Para obtener más estrategias sobre el manejo de grandes conjuntos de resultados, considere esta pregunta relacionada y su respuesta: [enlace a pregunta similar].
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3