2014-12-11 2 views
0

Я использую spring-batch и spring-data-jpa для чтения больших файлов данных csv и сохраняю (или обновляю существующие) записи в postgresql db, используя спящий режим.Как навалом вставить с помощью Spring-Batch?

Как настроить весну для использования вставных/объемных вставок?

Когда я настроить работу step, я установил chunk размер соответственно:

StepBuilderFactory step; 
step.chunk(10000).reader(csvReader).writer(jpaItemWriter).build(); 

ли я в дальнейшем должны быть обеспокоены hibernate.jdbc.batch_size собственности? Должен ли я также установить его, возможно, такого же размера, как размер куска?

+0

Я несколько раз проводил некоторые исследования с вставкой пакета. Но с моей ограниченной информацией я могу это сказать. Вы можете отправить набор запросов вместе. Но не запрос объединяет набор информации. то есть; будет несколько запросов на вставку, но время обработки будет меньше. – Dileep

ответ

0

Когда вы задаете размер куска, ваш читатель отправит данные автору в указанные фрагменты. поэтому размер блока - это то, что регулирует фактическое обновление пакета в db в весенней партии.

Я не думаю, что batch_size имеет значение, поскольку вы уже настроили свою работу для определенного размера блока для определенного шага.

0

Вам также необходимо использовать запрос Bulk Update при записи в базу данных. Google JDBC Bulk updates - в зависимости от того, как вы делаете запрос JDBC, вам нужно будет использовать соответствующий механизм массового обновления.

+0

Да, но вопрос был: как я могу получить массовые обновления с помощью 'hibernate' (который используется весенним пакетом)? – membersound

+0

ooops ok - извините, я не знаю ответа на этот вопрос –

Смежные вопросы