目前,在我使用mysql-连接器-java:5.1.36的应用程序中,一切正常。但是,当我将连接器升级到mysql-连接器-java:5.1.47时,查询开始执行需要分-2小时的时间。如果使用5.1.36版本直接从终端或应用程序运行相同的查询,则执行时间不到几秒钟。
MySQL连接器jar版本如何影响查询性能?
发布于 2019-07-06 16:47:46
我找到了原因。MySQL -连接器-java:5.1.47及更高版本中有一个更改:当连接字符串中的characterEncoding使用UTF-8时,它将映射到MySQL字符集名称utf8mb4。对于mysql-连接器-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它很好用。
https://stackoverflow.com/questions/56914660
复制相似问题