Как версия jar коннектора MySQL может повлиять на производительность запроса? - PullRequest
2 голосов
/ 06 июля 2019

В настоящее время в моем приложении с mysql-connector-java: 5.1.36 все работает нормально.Но когда я обновляю соединитель на mysql-connector-java: 5.1.47, выполнение запроса занимает минуты-2 часа.Если я выполняю тот же запрос непосредственно из терминала или из приложения с версией 5.1.36, выполнение занимает менее нескольких секунд.

Как версия jar коннектора MySQL может повлиять на производительность запроса?

1 Ответ

0 голосов
/ 06 июля 2019

Я нашел причину. В mysql-connector-java есть изменения: 5.1.47 и выше: Когда UTF-8 используется для кодировки символов в строке подключения, он сопоставляется с именем набора символов MySQL utf8mb4. В то время как для mysql-connector-java: 5.1.46 и ниже он соответствует utf8 (или более подходящему utf8mb3).

Ссылка: https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html

Для моей базы данных кодировка символов установлена ​​в utf8 (или utf8mb3 более подходящим образом). Из-за этого индекс не использовался в запросе. После установки свойства сервера

character_set_server : utf8

работает нормально.

...