当前位置: 首页 > 知识库问答 >
问题:

MySQL连接器jar版本如何影响查询性能?

龚志文
2023-03-14

目前,在我使用mysql-connector-:5.1.36的应用程序中,一切都运行良好。但是当我将connector升级到mysql-connector-:5.1.47时,一个查询开始需要几分钟-2个小时的时间来执行。如果我直接从终端或者从带有V5.1.36的应用程序运行相同的查询,执行所需的时间不到几秒。

MySQL连接器jar版本如何影响查询性能?

共有1个答案

太叔英锐
2023-03-14

我找到原因了。在mysql-connector-:5.1.47及以上版本中有一个变化:当UTF-8用于连接字符串中的characterEncoding时,它映射到MySQL字符集名称UTF8MB4。而对于mysql-connector-: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

它工作得很好。

 类似资料:
  • 问题内容: 以下两个查询有什么区别? 问题答案: 在SQL方面,绝对没有区别:这两个查询完全相同。 (您可以通过回显它们进行检查) 是的更完整的语法,允许使用: 有关更多信息,您应该阅读手册的 变量解析/复杂(curly)语法 部分 (引用几句话) : 之所以称其为“复杂”,是因为语法复杂,而是因为它允许使用复杂的表达式。 可以通过此语法包括具有字符串表示形式的任何标量变量,数组元素或对象属性。

  • 问题内容: SQLite如何在内部处理别名? 创建表名别名是在内部创建同一表的副本还是仅引用同一表而不创建副本? 当我在代码中创建同一表的多个别名时,查询性能会受到严重影响! 在我的情况下,我有一个表,将其称为MainTable,即2列,即名称和值。我想在一行中选择多个值作为不同的列。例如 名称:a,b,c,d,e,f 值:p,q,r,s,t,u ,使得a对应于p,依此类推。 我想在一行中选择名称

  • 本文向大家介绍详解MySql基本查询、连接查询、子查询、正则表达查询,包括了详解MySql基本查询、连接查询、子查询、正则表达查询的使用技巧和注意事项,需要的朋友参考一下 查询数据指从数据库中获取所需要的数据。查询数据是数据库操作中最常用,也是最重要的操作。用户可以根据自己对数据的需求,使用不同的查询方式。通过不同的查询方式,可以获得不同的数据。MySQL中是使用SELECT语句来查询数据的。在这

  • 问题内容: 我有这个查询: 我的表是,我有一列名为。我要更新的是名为“ yes” 的列。 知道我在做什么错吗?当我返回查询时,它说受影响的0行。 问题答案: 如苯丙胺和Yada所建议,如果您的电话号码在表中,请使用进行检查。 但是请记住:如果所讨论的行的值已经是“是”,则mysql不会更改该值,因此将返回“受影响的0行”。因此,请务必同时检查

  • 问题内容: 我如何询问我的Elasticsearch服务器目前有多少个连接打开? 这和插座数一样吗?(我也不知道如何获得这些数字) 这与客户端的数量不同,对,因为每个客户端都可以打开多个连接? 虽然我确实发现您可以在Elasticsearch客户端上为每个客户端指定一个maxSockets,但找不到任何信息:https ://www.elastic.co/guide/en/elasticsearc

  • 假设一款手机游戏由一个MongoDB数据库支持,该数据库包含一个包含数百万文档的用户集合。 现在假设必须与用户关联的几十个属性-例如朋友文档的文档的