【问题标题】:Why recordsets initially were forward only为什么记录集最初只转发
【发布时间】:2010-09-15 16:46:49
【问题描述】:

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

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

【问题讨论】:

    标签: java sql database dataset


    【解决方案1】:

    在 JDBC 的第一个版本中包含太多功能会减慢 JDBC 的采用速度,因为供应商会花费更长的时间来实现它。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          猜你喜欢
          • 2012-12-14
          • 2012-06-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-20
          • 1970-01-01
          • 2012-09-11
          • 1970-01-01
          相关资源
          最近更新 更多