1

我已经看到最近更新的记录集正在更新,以便我们可以在它指向的数据中来回滚动。

为什么它们最初是为仅向前遍历而设计的。使用新版本有影响吗?

4

3 回答 3

5

“新版本”大约有 5 年的历史。

仅转发:这是最简单的实现方式。实现队列(FIFO)而不是双端队列或链表是最容易的。由于 JDBC 驱动程序必须从 DB 中读取记录,因此它可以让 ResultSet 读取器轻松使用它们,先来先服务。

后来,他们意识到一些桌面应用程序和一些基于富 Web 的应用程序可能希望在不必存储中间表示的情况下向前和向后滚动,他们决定实现它。

然后是可更新的结果集,您可以在其中更新结果集的列/行。

于 2008-10-07T07:05:37.903 回答
1

我已经很久没有看过这些东西了,但我很确定最初数据是流式传输的,并且对于许多 JDBC 驱动程序,Recordset 与数据库中的低级游标操作相关联。

使用的唯一影响可能是内存使用——但在几乎所有业务案例中,您都不会注意到,我也不会担心。在处理大型数据集时,您可能需要查看如何获取数据,但我的意思是“企业”这个词的意义——数百万甚至数十亿条记录。

于 2008-10-07T07:10:36.333 回答
0

将太多特性打包到 JDBC 的第一个版本中会减慢 JDBC 的采用速度,因为供应商会花费更长的时间来实现它。

可滚动结果集是 JDBC 中相对很少使用的功能,因此从一开始就没有必要拥有它。这同样适用于 JDBC 2 和 3 中的其他奇特特性。

于 2008-10-07T07:23:07.637 回答