Rumah  >  Artikel  >  Java  >  Bagaimanakah JDBC Menguruskan Penyata Berkelompok dengan Had max_allowed_packet MySQL?

Bagaimanakah JDBC Menguruskan Penyata Berkelompok dengan Had max_allowed_packet MySQL?

DDD
DDDasal
2024-10-27 13:10:30257semak imbas

How Does JDBC Manage Batched Statements with MySQL's max_allowed_packet Limit?

Menggunakan RewriteBatchedStatements dengan MySQL dan max_allowed_packet

Konfigurasi rewriteBatchedStatements JDBC mengoptimumkan overhed rangkaian dengan membungkus berbilang pertanyaan ke dalam satu paket. Ini menimbulkan kebimbangan mengenai had max_allowed_packet pelayan MySQL.

Mengurangkan Overhed Rangkaian dengan RewriteBatchedStatements

Apabila rewriteBatchedStatements ditetapkan kepada benar, JDBC menggabungkan pertanyaan ke dalam satu rangkaian. Contohnya:

<code class="java">ps.setString(1, "...");
ps.addBatch();
ps.setString(1, "...");
ps.addBatch();
ps.executeBatch();</code>

tanpa rewriteBatchedStatements:

<code class="sql">INSERT INTO jdbc (`name`) VALUES ('Line 1: ...')
INSERT INTO jdbc (`name`) VALUES ('Line 2: ...')</code>

dengan rewriteBatchedStatements:

<code class="sql">INSERT INTO jdbc (`name`) VALUES ('Line 1: ...'),('Line 2: ...')</code>

Kesedaran JDBC tentang max_allowed_>Ya, JDBC mengetahui nilai paket_maks_allowed dan melaraskan saiz pertanyaan gabungan dengan sewajarnya.

Contoh

Dengan mendayakan log umum MySQL, anda boleh memerhatikan JDBC memeriksa max_allowed_packet semasa sambungan. Tambahan pula, jika anda menetapkan max_allowed_packet kepada nilai yang rendah, JDBC akan membahagikan pertanyaan kelompok kepada paket yang lebih kecil jika saiz gabungan melebihi had.

Atas ialah kandungan terperinci Bagaimanakah JDBC Menguruskan Penyata Berkelompok dengan Had max_allowed_packet MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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