Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQL Menggunakan PreparedStatement Java?
Masukkan Berbilang Baris ke dalam MySQL dengan PreparedStatement Menggunakan PreparedStatement
Dalam Java, memasukkan berbilang baris dengan cekap ke dalam jadual MySQL boleh dicapai menggunakan kumpulan PreparedStatement keupayaan pemprosesan. Sebelum ini, melaksanakan pernyataan SQL individu untuk setiap baris adalah amalan biasa:
for (String element : array) { myStatement.setString(1, element[0]); myStatement.setString(2, element[1]); myStatement.executeUpdate(); }
Walau bagaimanapun, untuk mengoptimumkan prestasi, MySQL menawarkan sintaks yang membenarkan memasukkan berbilang baris sekaligus:
INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
Menggunakan pendekatan ini dengan PreparedStatement memerlukan kelompok pemprosesan:
Berikut ialah contoh yang menggambarkan proses:
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. } } } }
Melaksanakan kelompok setiap 1000 baris membantu mengelakkan pengehadan potensi yang dikenakan oleh pemacu atau pangkalan data JDBC pada kelompok saiz.
Rujuk tutorial JDBC untuk mendapatkan butiran lanjut tentang menggunakan objek PreparedStatement dan Statement untuk kemas kini kelompok.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQL Menggunakan PreparedStatement Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!