java - Java 的 ResultSet 实现是否重新执行 SQL 语句以检索额外的 ResultSet 数据
问题描述
我在https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-implementation-notes.html上读到MySQL 的 JDBC 实现实际上将整个结果集加载到内存中,但是也可以配置为从数据库中逐行流式传输数据。我试图理解的过程是 MySQL 数据库提供的底层 Streaming 过程。当您在数据库上执行 sql 语句时,假设您正在使用 MySQL 的流式传输功能,数据库是否首先生成 SQL 语句中定义的所有必要数据并将其存储在某处,然后将其逐行加载到输出流中然后由 MySQL 连接器检索并进一步加载到结果集中并存储在内存中?
如果有人能为我概述这个过程,我将不胜感激。
我试图了解使用 SQL 是否更有效,LIMIT
并且OFFSET
与将所有数据提取到ResultSet
.
解决方案
推荐阅读
- json - 如何使用 SwiftyJson 循环 Json
- hive - Hive 分区表条目
- dart - NetworkImage 正在缓存旧图像
- oracle - 在 docker 容器中将 Oracle 作为服务启动
- javascript - 基于 3 下拉列表和查找表的计算
- graph - 如何在 Neo4J 中导入位于不同路径的数据库?
- sql-server - 在 SQL Server Business Intelligent Studio 2008(SSIS)中编写 BIMLScript 时 Intellisense 无法正常工作
- python-3.x - pandas wide_to_long 在列名中带有浮点数
- javascript - 使用 indexOf 匹配精确的数组元素(正则表达式 - 边界匹配数组)
- python - Python Xlsxwriter 格式化表中的特定列