Heim  >  Artikel  >  Java  >  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
DDDOriginal
2024-10-27 13:10:30257Durchsuche

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>

ohne rewriteBatchedStatements:

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

mit rewriteBatchedStatements:

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

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!

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