Mengoptimumkan Sisipan Berbilang Baris dalam MySQL dengan Java Menggunakan PreparedStatement
Dalam pengaturcaraan pangkalan data, memasukkan berbilang baris ke dalam jadual dengan cekap adalah penting untuk prestasi. Artikel ini membincangkan cara mengoptimumkan sisipan berbilang baris dalam MySQL menggunakan Java's PreparedStatement.
Latar Belakang
Sebelum ini, gelung mudah digunakan untuk memasukkan baris satu demi satu, yang boleh jadi tidak cekap. Untuk meningkatkan prestasi, kami berhasrat untuk menggunakan sintaks MySQL yang disokong yang membenarkan memasukkan berbilang baris dalam satu pernyataan.
Menggunakan PreparedStatement Batching
MySQL menawarkan batching sebagai cara untuk melaksanakan beberapa kenyataan sebagai satu kumpulan. Dengan PreparedStatement, kita boleh mencapai ini dengan menambahkan data baris individu pada kelompok menggunakan kaedah addBatch(). Setelah batch selesai atau mencapai had saiz tertentu, kami boleh melaksanakan keseluruhan batch menggunakan executeBatch().
Di bawah ialah contoh batching dengan PreparedStatement:
public void save(List<Entity> entities) throws SQLException { try ( Connection connection = database.getConnection(); PreparedStatement statement = connection.prepareStatement(SQL_INSERT); ) { int i = 0; for (Entity entity : entities) { statement.setString(1, entity.getSomeProperty()); // ... statement.addBatch(); i++; if (i % 1000 == 0 || i == entities.size()) { statement.executeBatch(); // Execute every 1000 items. } } } }
Batching meningkatkan prestasi dengan mengurangkan perjalanan pergi dan balik ke pangkalan data dan membolehkan pelayan melaksanakan berbilang kenyataan dengan cekap.
Sumber Tambahan
Untuk maklumat lanjut tentang batching JDBC:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan Sisipan Berbilang Baris dalam MySQL Menggunakan PreparedStatement Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!