2 votes

Comment la version du jar du connecteur MySQL peut-elle affecter la performance des requêtes ?

Actuellement, dans mon application avec mysql-connector-java:5.1.36, tout fonctionne bien. Mais lorsque je mets à jour le connecteur vers mysql-connector-java:5.1.47, l'exécution d'une requête commence à prendre des minutes ou des heures. Si je lance la même requête directement depuis le terminal ou depuis l'application avec la version 5.1.36, elle s'exécute en moins de quelques secondes.

Comment la version du jar du connecteur MySQL peut-elle affecter la performance des requêtes ?

1voto

Rajat goel Points 36

J'ai trouvé la raison. Il y a un changement dans mysql-connector-java:5.1.47 et plus : Lorsque UTF-8 est utilisé pour characterEncoding dans la chaîne de connexion, il correspond au nom du jeu de caractères MySQL utf8mb4. Alors que pour mysql-connector-java:5.1.46 et moins, cela correspond à utf8 (ou utf8mb3 de manière plus appropriée).

Lien : https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html

Pour ma base de données, l'encodage des caractères est défini sur utf8 (ou utf8mb3 de manière plus appropriée). A cause de cela, l'index n'était pas utilisé dans la requête. Après avoir défini la propriété du serveur

character_set_server : utf8

il fonctionne bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X