gpt4 book ai didi

java - ResultSet 实现 - 是在调用 next() 时获取的,还是结果已经在内存中?

转载 作者:行者123 更新时间:2023-12-01 17:46:12 26 4
gpt4 key购买 nike

假设我必须遍历所有条目,有谁知道如何获取 ResultSet 的结果吗?

我可以调用 SELECT * FROM MyTable 而不是 SELECT TOP 100 * FROM MyTable ORDER BY id ASC OFFSET 0; 并只调用 resultSet.next() 根据需要获取结果,并在程序级别处理它们,或者结果是否已经在内存中并且不放入 TOP 是不好的?

最佳答案

ResultSet 类公开了一个

void setFetchSize(int rows)

方法,根据JavaDoc

Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object.

这意味着,如果我们从数据库中获得包含 200 行的结果集,并且将提取大小设置为 100~100一次将从数据库加载行,并且可能需要两次访问数据库。

默认获取大小取决于驱动程序,但例如,Oracle 将其设置为 10 行。

关于java - ResultSet 实现 - 是在调用 next() 时获取的,还是结果已经在内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55077972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com