Maison >Java >javaDidacticiel >Comment JDBC gère-t-il les instructions par lots avec la limite max_allowed_packet de MySQL ?

Comment JDBC gère-t-il les instructions par lots avec la limite max_allowed_packet de MySQL ?

DDD
DDDoriginal
2024-10-27 13:10:30342parcourir

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

Utilisation de RewriteBatchedStatements avec MySQL et max_allowed_packet

La configuration rewriteBatchedStatements de JDBC optimise la surcharge du réseau en regroupant plusieurs requêtes dans un seul paquet. Cela soulève des inquiétudes concernant la limite max_allowed_packet du serveur MySQL.

Réduire la surcharge du réseau avec RewriteBatchedStatements

Lorsque rewriteBatchedStatements est défini sur true, JDBC combine les requêtes en un seul paquet réseau. Par exemple :

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

sans rewriteBatchedStatements :

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

avec rewriteBatchedStatements :

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

Conscience de JDBC concernant max_allowed_packet

Oui, JDBC connaît la valeur max_allowed_packet et ajuste la taille des requêtes combinées en conséquence.

Exemple

En activant le journal général de MySQL, vous pouvez observer JDBC inspection de max_allowed_packet lors de la connexion. De plus, si vous définissez max_allowed_packet sur une valeur faible, JDBC divisera les requêtes par lots en paquets plus petits si la taille combinée dépasse la limite.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn