Rumah >Java >javaTutorial >Bagaimanakah JDBC Menguruskan Penyata Berkelompok dengan Had max_allowed_packet MySQL?
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!