Оптимизация импорта CSV с уникальностью - Spring Boot/MySQLMySql

Форум по Mysql
Ответить
Anonymous
 Оптимизация импорта CSV с уникальностью - Spring Boot/MySQL

Сообщение Anonymous »

При импорте больших файлов CSV в базу данных MySQL из приложения Spring Boot с использованием пакетных вставки производительность начинается хорошо, но постепенно падает. Замедление происходит потому, что некоторые столбцы, такие как номера счетов или продукт, должны оставаться уникальными, и по мере роста таблицы проверки уникальности становятся более дорогими. Я ожидал, что скорость вставки останется более стабильной в течение всего импорта.










< /code>
private static final String SQL =
"INSERT INTO invoices (invoice_number, amount) VALUES (?,?)";

public int[] importBatch(List rows) {
return jdbc.batchUpdate(SQL, new BatchPreparedStatementSetter() {
@Override public void setValues(PreparedStatement ps, int i) throws SQLException {
InvoiceRow r = rows.get(i);
ps.setString(1, r.invoiceNumber());
ps.setBigDecimal(2, r.amount());
}
@Override public int getBatchSize() { return rows.size(); }
});
}
< /code>
What solutions can I apply to improve the stability and performance of this import?

Подробнее здесь: https://stackoverflow.com/questions/797 ... boot-mysql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»