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

MySQL JDBC中的服务器端游标支持

许安邦
2023-03-14

MySQL连接器-J文档(此处)提到了JDBC从MySQL数据库检索结果的两种方式。一种是默认操作,其中整个结果集被加载到内存中,并在代码中可访问。第二种是逐行流。

我想知道最新版本的MySQL / MySQL JDBC是否支持服务器端游标。具体来说,我想知道这些选项是否使用CursorFetch=TruedefaultFetchSize。

如果存在这种支持,这种操作的约束是什么?我知道将在服务器的内存中创建一个临时表,从中获取结果。但是,还需要注意哪些其他事项(例如表/行锁、更新/插入限制以及结果集/连接关闭)?


共有1个答案

殳俊晤
2023-03-14

您链接到的文档的最新版本包含以下注释:

默认情况下,结果集被完全检索并存储在内存中。[...]你可以告诉驱动程序一次返回一行结果。

要启用此功能,请按以下方式创建语句实例:

stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
          java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);

这听起来像你要找的。

 类似资料:
  • 问题内容: 我正在尝试使用以下代码获取mongo数据库中存在的一些ID: 但是,过了一会儿,我收到此错误: pymongo.errors.CursorNotFound:游标ID’…’在服务器上无效。 我发现这篇文章提到了这个问题。不过,我不清楚该采取哪种解决方案。可以使用吗?上面的命令到底是做什么的?我可以使用所有数据库ID吗? 问题答案: 由于光标在服务器上超时(不活动10分钟后),因此出现此错

  • 我试图建立一个通用服务器总是在连接的客户端。 该体系结构由4个主要组件组成 有状态应用服务器 无状态网关服务器 客户排队 系统和经纪人 工艺流程 客户端连接到网关 我正在使用JavaNetty作为网关。appserver也是用Java编写的。 我很想说这个设计像Mongrel2,但我不能完全确定。我想说,这更符合城市飞艇氦边缘服务器的设计(http://urbanairship.com/blog/

  • JAGS 游戏服务器是一个开源的 Java / AS 3.0 的游戏服务器,支持多玩家、碰撞检测以及键盘事件等等。

  • 在开发我的在线游戏时,我试图了解更多关于安全的知识。 截获从服务器发送的数据包、使用某些软件修改数据包并将数据发送回服务器是否可能,以及有多困难? 下面是一个场景: 玩家与AI敌人进行战斗。一个玩家输掉了这场战斗,在战斗结束时,数据包被发送回服务器,记录发生的事情。是否可以在发送之前修改此数据包,并告诉服务器玩家已经赢得了这场战斗?如何读取并修改这些数据? 是否有可能说玩家与1个敌人进行了一场战斗

  • > 服务器端javascript在浏览器外部运行(从终端,使用node.js)是否支持画布类图形(例如,使用raphael或Processing.js)? 或者,运行在服务器机器上的处理草图如何与NodeJS连接? 欢迎其他解决方案-谢谢!乔纳森

  • 问题内容: 我正在制作客户端服务器MMO风格的游戏。到目前为止,我已经建立了框架,以便服务器和客户端相互交互以提供状态更新。服务器维护游戏状态并定期计算下一个状态,然后每隔一段时间(每n毫秒)将其发送给所有客户端。用户可以在客户端查看此新状态并做出反应。然后,将这些操作发送回服务器进行处理,并发送给下一次更新。 明显的问题是这些更新在服务器和客户端之间传播需要花费时间。如果客户端采取行动攻击敌人,