Как Spring Batch JdbcCursorItemReader считывает данные из базы данных?
Я использую пакет Spring и читаю данные из postgreSQL
с помощью JdbcCursorItemReader
, Меня беспокоит то, как внутренне JdbcCursorItemReader
читает записи базы данных? Например, если в базе данных имеется 1000 тыс. Записей, а размер фрагмента равен 1000. Таким образом, в этом случае JdbcCursorItemReader
попытается извлечь все 1000 тыс. записей в JVM, а затем начнет выполнение фрагмента размером 1000 или за один раз получит только 1000 записей из базы данных (или каким-либо другим способом извлечь записи). Также какая польза от setFetchSize
и чем он отличается от упоминания размера куска? Мое требование состоит в том, чтобы передавать данные из postgreSQL
дБ в jvm. Какие конфигурации мне нужны для этого?
1 ответ
Идея JdbcCursorItemReader
для передачи данных с сервера RDBMS в пакетное задание. Для этого может потребоваться дополнительная настройка в зависимости от ваших настроек (я знаю, что MySql требует определенных параметров... я не уверен на 100% в Postgres). Но конечный результат при правильной настройке состоит в том, что данные поступают по мере необходимости, а не сразу.