Оптимизация импорта 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

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