Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengoptimumkan Sisipan Berbilang Baris dalam MySQL menggunakan Java's PreparedStatement?

Bagaimana untuk Mengoptimumkan Sisipan Berbilang Baris dalam MySQL menggunakan Java's PreparedStatement?

Barbara Streisand
Lepaskan: 2024-12-27 09:11:10
asal
544 orang telah melayarinya

How to Optimize Multiple Row Inserts in MySQL using Java's PreparedStatement?

Memasukkan Berbilang Baris Serentak menggunakan PreparedStatement dalam Java

Soalan:

Bagaimana seseorang boleh mengoptimumkan penyisipan berbilang baris ke dalam jadual MySQL menggunakan Java, mengambil kesempatan daripada MySQL yang disokong sintaks untuk memasukkan berbilang nilai dalam satu pernyataan?

Jawapan:

Menggunakan PreparedStatement#addBatch() dan PreparedStatement#executeBatch() membenarkan penciptaan sekumpulan sisipan dan seterusnya pelaksanaan.

Contoh:

Pertimbangkan contoh berikut untuk memulakan pemasukan kelompok:

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.
            }
        }
    }
}
Salin selepas log masuk

Butiran Pelaksanaan:

  • Penyisipan dilakukan dalam kelompok 1000 untuk mengelakkan kemungkinan pengehadan dalam pemacu atau pangkalan data JDBC pada panjang kelompok.
  • Tutorial JDBC menyediakan sumber tambahan untuk menggunakan PreparedStatements dan kemas kini kelompok.

Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Sisipan Berbilang Baris dalam MySQL menggunakan Java's PreparedStatement?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan