当前位置: 首页 > 知识库问答 >
问题:

在迭代ResultSet时更新行需要大量时间

耿锦
2023-03-14

我正在努力改进我写的一个数据传输程序。我在寻找如何让它更快的建议。我的程序通过填充ResultSet并将结果写入文件来从数据库(通常是Oracle11g)中提取数据。该程序定期查看表,并查询某个特殊列是否发生了更改。例如,这可能是这样一个查询:

extractedData.beforeFirst();
while (extractedData.next()) {
    extractedData.updateString("changeColumn", "0");
    extractedData.updateRow();
}

共有1个答案

长孙诚
2023-03-14

使用JDBC批处理更新。从所有需要更新的行中,获取需要更新的行的主键,将其添加到批处理更新(SQL查询)中,并执行批处理。

Mkyong的一个很好的示例向您展示了如何使用JDBC PreparedStatement进行JDBC批处理更新。

 类似资料:
  • 问题内容: 我已经使用并计算了时间,每次迭代所花费的时间以毫秒为单位,但是整个循环大约需要16秒。我正在考虑条件测试花费大量时间,功能的可能原因。 仅供参考,我正在连接到远程数据库服务器,并且使用上述方法再次计算出我做出的选择查询(以毫秒为单位)。关于它为什么发生以及我如何花时间将结果集迭代到最大每秒的任何原因? 编辑: 我正在处理大约4000条记录,每条记录的内容约有10列,每列的大小约为10个

  • 我想在字符串与给定值匹配时更新该值 有没有人可以使用Java streams API来实现上述功能

  • 我正在使用以下代码: xlsx文件本身有25,000行,每行有500列的内容。在调试过程中,我看到我创建XSSFWorkbook的第三行,需要很多时间(1小时!)来完成这个语句。 有没有更好的方法来访问原始xlsx文件的值?

  • 我有一个熊猫数据框,看起来像这样(它是一个相当大的) 现在我想逐行迭代,当我遍历每一行时,每一行中的的值可能会根据某些条件而改变,我需要查找另一个数据帧。 现在,我如何在迭代时更新它。尝试了一些没用的东西。 这些方法似乎都不管用。我看不到数据框中更新的值。

  • 问题内容: 假设我有以下几种类型: 我想迭代节点的属性以更改它们。 我本来希望能够做到: 但是由于不是指针,所以这行不通,我必须这样做: 有没有更简单或更快速的方法?是否可以直接从中获取指针? 显然,我不想仅仅为了迭代而更改结构,更冗长的解决方案不是解决方案。 问题答案: 不,您想要的缩写是不可能的。 原因是从您要遍历的切片中复制值。关于范围的规范说: value (if 2nd variable

  • 我正在用CXF开发一个SOAP客户端。我有WSDL2Java生成的代码。我做了一个JAR可执行文件来测试。当我尝试提出请求时,我首先这样做: WSDL是web服务的URL。 service_name是服务的QName。 MintService是从wsdl2java代码生成的类。 MintServiceSOAP是endpoint的QName MintService.class是WSLD2Java生成