当前,在我的带有mysql-connector-java:5.1.36的应用程序中,一切正常。但是,当我将连接器升级到mysql-connector-java:5.1.47时,查询开始需要花费2到2个小时的时间来执行。如果我直接从终端或使用v5.1.36的应用程序运行相同的查询,则只需不到几秒钟即可执行。
MySQL连接器jar版本如何影响查询性能?
答案 0 :(得分:0)
我找到了原因。 mysql-connector-java:5.1.47及更高版本中存在更改: 当在连接字符串中将UTF-8用于characterEncoding时,它将映射到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
工作正常。