Потоковая передача больших наборов результатов с помощью MySQL
При работе с обширными таблицами MySQL в приложении Spring может возникнуть исключение OutOfMemoryException, поскольку драйвер пытается загрузить всю таблицу в память. Установка оператора.setFetchSize(Integer.MIN_VALUE); может быть недостаточно, так как это всего лишь подсказка для драйвера JDBC.
Чтобы включить потоковую передачу наборов результатов в драйвере JDBC MySQL, требуется более комплексный подход:
Создайте экземпляр запроса:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
Установить выборку Размер:
stmt.setFetchSize(Integer.MIN_VALUE);
Предупреждения:
У этого метода есть определенные предостережения:
Дополнительная информация:
Для дальнейших стратегий обработки больших наборов результатов рассмотрите этот связанный вопрос и ответ на него: [ссылка на аналогичный вопрос].
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3