MySQL 连接器 jar 版本如何影响查询性能?
How MySQL connector jar version can affect query performance?
目前,在我使用 mysql-connector-java:5.1.36 的应用程序中,一切正常。但是当我将连接器升级到 mysql-connector-java:5.1.47 时,查询开始需要几分钟到 2 小时的时间来执行。如果我 运行 直接从终端或使用 v5.1.36 的应用程序执行相同的查询,执行时间不到几秒钟。
MySQL 连接器 jar 版本如何影响查询性能?
找到原因了。 mysql-connector-java:5.1.47 及以上版本有变化:
当 UTF-8 用于连接字符串中的字符编码时,它映射到 MySQL 字符集名称 utf8mb4。而对于 mysql-connector-java:5.1.46 及以下,它对应于 utf8(或更合适的 utf8mb3)。
Link: https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html
我的数据库字符编码设置为 utf8(或更合适的 utf8mb3)。由于此索引未在查询中使用。设置服务器后 属性
character_set_server : utf8
它工作正常。
目前,在我使用 mysql-connector-java:5.1.36 的应用程序中,一切正常。但是当我将连接器升级到 mysql-connector-java:5.1.47 时,查询开始需要几分钟到 2 小时的时间来执行。如果我 运行 直接从终端或使用 v5.1.36 的应用程序执行相同的查询,执行时间不到几秒钟。
MySQL 连接器 jar 版本如何影响查询性能?
找到原因了。 mysql-connector-java:5.1.47 及以上版本有变化: 当 UTF-8 用于连接字符串中的字符编码时,它映射到 MySQL 字符集名称 utf8mb4。而对于 mysql-connector-java:5.1.46 及以下,它对应于 utf8(或更合适的 utf8mb3)。
Link: https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html
我的数据库字符编码设置为 utf8(或更合适的 utf8mb3)。由于此索引未在查询中使用。设置服务器后 属性
character_set_server : utf8
它工作正常。