当前位置: 首页 > 面试题库 >

ResultSet是将所有数据加载到内存还是仅在请求时加载?

艾令秋
2023-03-14
问题内容

我有一个.jsp页面,其中有一个GUI表,该表显示来自Oracle数据库的记录。该表允许典型的分页行为,例如“ FIRST”,“ NEXT”,“
PREVIOUS”和“ LAST”。记录是从Java ResultSet对象获得的,该对象是从执行SQL语句返回的。

这个ResultSet可能很大,所以我的问题是:

如果我的ResultSet包含一百万条记录,但是我的表仅显示ResultSet中前十条记录中的数据,是仅当我开始请求记录数据时才提取数据,还是一旦ResultSet将所有数据全部加载到内存中执行SQL语句返回什么?


问题答案:

Java
ResultSet是数据库中结果的指针(或游标)。ResultSet从数据库中以块的形式加载记录。因此,为回答您的问题,仅在请求时才提取数据,但以块为单位。

如果您需要控制驱动程序一次获取多少行,可以在ResultSet上使用setFetchSize(int
rows)
方法。这将允许您控制它一次检索多少块。



 类似资料:
  • 有没有一种方法可以使用H2O迭代大于集群累积内存大小的数据?我有一个大数据集,我需要批量迭代并输入Tensorflow进行梯度下降。在给定的时间,我只需要在内存中加载一批(或少数)。有没有一种方法可以设置H2O来执行这种迭代,而无需将整个数据集加载到内存中? 这是一个相关的问题,一年多前就已经回答了,但没有解决我的问题:在h2o中加载大于内存大小的数据

  • 我是一个长期LAMP开发人员,并且习惯在需要时使用autoloader加载类,但直到那时才开始,但现在正在学习Node.js。许多示例显示了加载所有文件的文件夹中的index.js文件。 例如:模型 在我的代码中,我使用 这是首选方法吗? 如果是,为什么? 为什么不使用自动装载机,只在需要的时候加载文件呢? 我在网上搜索,但没有找到任何明确解释这一点的东西。如果你有一篇文章对你有帮助,我将不胜感激

  • 问题内容: 我遇到了一个问题,其中发生了多个异步请求,这些请求从Facebook API和Firebase数据库获取图像和信息。我想执行所有异步请求,然后将从Facebook API / Firebase数据库获取的所有数据存储到一个可以快速加载的完整对象中。我为每个异步请求设置了完成处理程序,我认为这会迫使程序“等待”直到请求完成,然后继续执行程序,但这似乎对我不起作用。以下是我的尝试: 我知道

  • 问题内容: 我想知道如何将字节数组加载到 内存 URLClassLoader中?字节数组是jar文件的解密字节(如下所示)! 大多数内存类加载器都使用ClassLoader而不是URLClassLoader!我需要它使用URLClassLoader。 谢谢! 问题答案: 我将在这里发布我过去做过的实现: 我的自定义ClassLoader:

  • 我正在尝试在Java服务器端应用程序中使用ehcache来缓存一些数据。如何在服务器启动时将一些初始数据加载到ehcache。应用程序是具有Spring和数据库连接的基于Web的应用程序。任何人都可以让我知道如何定期刷新这些缓存。 谢啦

  • 我是Spark和Spring Boot Framework的新手。我尝试过在3个节点的火花集群中处理数据库的1亿记录,每个节点有16 Gigs的RAM和4个内核,在我将完整的1亿记录缓存在内存中之后,它的工作速度非常快,所以我的主要目标是在我的Spring Boot应用程序(我正在编写它以使一些RESTful Services在火花上下文上运行)启动时加载和缓存内存中的记录。如何在应用程序启动时准