Mysql默认是不支持fetchSize的,像Oracle和db2等商业数据库则支持,那么这么在jdbc连接mysql是使用这个参数呢,满足一下三个条件:

首先数据库版本要高于5.0.2,官方是这么说的

useCursorFetch
If connected to MySQL > 5.0.2, and setFetchSize() > 0 on a statement, should that statement use cursor-based fetching to retrieve rows?

再就是设置了fetchSize,例如

PreparedStatement pstmt = conn.prepareStatement(sql );

最最重要的是在数据库连接后加上,

useCursorFetch=true,

例如

url=jdbc:mysql://192.168.1.3:3306/cuishou3?useCursorFetch=true

完成上面的设置后,fetchSize就生效了,每次拉取fetchSize调数据,而不是默认的把所有数据一次拉取出来

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐