正确使用MySQL JDBC游标

发布时间:2020-08-10 13:12:56 作者:壹頁書
阅读:479
mysql云数据库,弹性扩容,低至0.3元/天! 查看>>
转载自:
http://blog.csdn.net/seven_3306/article/details/9303879



该文章提出三种方式可以正确使用mysql 游标

1、当statement设置以下属性时,采用的是流数据接收方式,每次只从服务器接收部份数据,直到所有数据处理完毕,不会发生JVM OOM。


          setResultSetType(ResultSet.TYPE_FORWARD_ONLY);

          setFetchSize(Integer.MIN_VALUE);

2、调用statement的enableStreamingResults方法,实际上enableStreamingResults方法内部封装的就是第1种方式。

3、设置连接属性useCursorFetch=true (5.0版驱动开始支持),statement以TYPE_FORWARD_ONLY打开,再设置fetch size参数,表示采用服务器端游标,每次从服务器取fetch_size条数据。

但是实测,只有第一种,第二种方式可以,第三种方式不成功.

测试的MySQL JDBC版本 5.1.31

第三种方式,报错,总之,只要有useCursorFetch的参数设置,就会报如下异常.
Prepared statement needs to be re-prepared



正确使用MySQL JDBC游标

第二种方式 成功
将PreparedStatemen强转为com.mysql.jdbc.PreparedStatement,然后执行enableStreamingResults函数.
注意不要设置fetchsize 否则没有效果


正确使用MySQL JDBC游标

第一种方式  成功
正确使用MySQL JDBC游标

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:
  1. Oracle 和 MySQL 的 JDBC 到底有多慢?
  2. 如何正确的使用pymysql模块

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:http://blog.itpub.net/29254281/viewspace-2141693/

jdbc mysql 使用

上一篇:Path Finder for mac(文件管理工具)v9.3.5

下一篇:技术架构分享:美团配送系统架构演进实践

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×