Я создаю компонент гибернации для взаимодействия с большими входящими данными, чтобы сохранить, сохранить (создать) и обновить данные с томами в миллионах строк.
Я знаю об основных различиях между flush v commit, например, flush синхронизирует «грязные» данные с постоянными базовыми данными, и этот flush позволяет синхронизировать с базовыми постоянными данными без фактической фиксации, чтобы транзакция могла откатиться при необходимости. По существу, фиксация фиксирует все постоянные данные в базе данных.
Я создаю компонент гибернации для взаимодействия с большими входящими данными, чтобы сохранить, сохранить (создать) и обновить данные с томами в миллионах строк.
Я знаю об основных различиях между flush v commit, например, flush синхронизирует «грязные» данные с постоянными базовыми данными, и этот flush позволяет синхронизировать с базовыми персистентными данными без фактической фиксации, чтобы транзакция могла откатиться при необходимости. По существу, фиксация фиксирует все постоянные данные в базе данных.
Какой разумный размер для пакетной вставки? IS 50 максимальная сумма для разумной производительности, что-то вроде:
for (i < 1000000)
if(i % 50 ) {
session.flush()
}
Я считаю, что 50 должно соответствовать значению в hibernate.jdbc.batch_size 50