Heim > Java > javaLernprogramm > Wie verwaltet JDBC Batch-Anweisungen mit dem max_allowed_packet-Limit von MySQL?

Wie verwaltet JDBC Batch-Anweisungen mit dem max_allowed_packet-Limit von MySQL?

DDD
Freigeben: 2024-10-27 13:10:30
Original
349 Leute haben es durchsucht

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

Verwendung von RewriteBatchedStatements mit MySQL und max_allowed_packet

JDBCs rewriteBatchedStatements-Konfiguration optimiert den Netzwerk-Overhead, indem mehrere Abfragen in ein einziges Paket gepackt werden. Dies wirft Bedenken hinsichtlich des max_allowed_packet-Limits des MySQL-Servers auf.

Reduzieren des Netzwerk-Overheads mit RewriteBatchedStatements

Wenn rewriteBatchedStatements auf true gesetzt ist, kombiniert JDBC Abfragen in einem einzigen Netzwerkpaket. Zum Beispiel:

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

ohne rewriteBatchedStatements:

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

mit rewriteBatchedStatements:

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

JDBCs Kenntnis von max_allowed_packet

Ja, JDBC kennt den max_allowed_packet-Wert und passt die Größe der kombinierten Abfragen entsprechend an.

Beispiel

Durch die Aktivierung des allgemeinen Protokolls von MySQL können Sie JDBC beobachten Überprüfung von max_allowed_packet bei der Verbindung. Wenn Sie max_allowed_packet außerdem auf einen niedrigen Wert festlegen, teilt JDBC Stapelabfragen in kleinere Pakete auf, wenn die Gesamtgröße den Grenzwert überschreitet.

Das obige ist der detaillierte Inhalt vonWie verwaltet JDBC Batch-Anweisungen mit dem max_allowed_packet-Limit von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage