问题标签 [batch-updates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
182 浏览

sql - 通过准备好的语句从 oracle DB 中检索值数组

在我们的 Batch 项目中,我们运行一个 shell 脚本,该脚本又调用一个 Web 服务。我们的要求是在 DB 2 数据库上运行一个选择查询并获取 1000 个 A_TYPE 帐户,然后我们将不得不使用这些帐户来获取一个列表通过在来自 ORACLE DB 的准备好的语句中使用 A_TYPE 帐户来统计其他帐户(A_TYPE、B_TYPE 列)。

问题是,对于每 1000 个 A_TYPE 帐户,我必须准备语句 1000 次并执行 1000 次才能获得 B_TYPE 帐户。这是耗时且效率不高的。

因此,如果有人可以建议我一种方法来传递 A_TYPE 帐户的列表或数组,然后获取 A_TYPE、B_TYPE 帐户的列表或哈希图,以便我可以进一步使用它们,那将非常有帮助。此外,我必须使用 B_TYPE 帐户代替 A_TYPE 帐户来更新我的 Db2 DB。我所有的逻辑都是用 Web 服务操作(JAVA)本身编写的。

更新:

是的,我通过 JNDI 名称直接访问数据库。在 web 服务处理程序逻辑中,我将调用两个数据库。我不知道使用的 DB2 版本,因为我使用 JNDI 名称访问它,Oracle 是 10 gi,有类似的查询

不,我不必担心事务。我不知道主机变量和 DB2 动态查询。

0 投票
1 回答
969 浏览

java - 在 Oracle 中运行批处理语句:sendBatch() 与 executeBatch()

我正在编写 Java 代码以在 Oracle 数据库中执行一批插入语句。我在一些我可以使用或执行此操作的文档( http://docs.oracle.com/cd/B28359_01/java.111/b31224/oraperf.htm )中看到。我有点困惑这两种方法之间的区别是什么,或者为什么我会选择另一种。也许我只是在阅读中遗漏了一些东西。sendBatch()executeBatch()

有没有人可以清楚地解释差异是什么,以及我如何决定何时应该使用一种方法而不是另一种方法?

0 投票
1 回答
500 浏览

sql - 数据库批量更新

这三种解决方案在批量更新定义和性能方面有什么区别:

1)

2)

3)

或者Batch=true在 MyBatis 配置中设置

0 投票
0 回答
881 浏览

php - 将大量数据更新到 MySQL 数据库

我正在使用来自提供商的 API 服务。API 用法看起来像 -

(不是真实地址)为每个 API 调用返回 1000 条记录的 JSON。

第一次,我检索了所有记录并将其保存到我的数据库服务器。用户搜索/处理在我的数据库服务器上运行。这是API服务提供商推荐的方式。

每当数据更改时,API 服务提供商都会更新他们的数据库。我不知道它们何时改变以及改变了什么。他们可能会添加新记录/更新现有记录/删除一些记录。我需要定期更新我的数据库(每周、每周一或每周 2 次都可以)。

这是我的 PHP 代码,它更新了一张表

问题是

  1. 它太慢了。有些表有数百万条记录。(有更好的方法吗?)
  2. 有些表没有主键(我不能使用 INSERT INTO ... ON DUPLICATE KEY UPDATE)
  3. 对于记录删除(我不知道该怎么做;我认为删除所有记录并重新添加所有记录不是最好的主意)
0 投票
1 回答
1673 浏览

asp.net-mvc - 没有 Incell 编辑的 Kendo 批量更新

我正在尝试在不启用 Kendo Grid 中的 InCell 编辑的情况下进行 ajax 批量更新。我想让用户选择一堆行,然后将它们标记为某种状态(从下拉列表中选择),然后进行批量更新。有没有办法可以在自定义工具栏操作中传递当前选定的网格项目?就像是:

0 投票
1 回答
1620 浏览

java - 通过 JdbcBatchItemWriter 基于主键插入/更新。在这种情况下,oracle 合并会有任何性能问题吗?

我需要根据记录是否已经存在来插入或更新记录。

我正在使用 JdbcBatchItemWriter 来编写记录。但如果主键的记录已经存在,我应该更新它......

所以一种解决方案是:

制作两个单独的列表,一个用于插入,一个用于更新(注意:我必须在每次记录是否已经存在时检查我的处理器,从而将记录添加到列表之一中),并且在我的编写器中有两个不同的 JdbcBatchItemWriter 实例, 例如:

有没有其他方法可以在批量更新时根据记录在编写器中的查询之间切换......即只有一个

我正在考虑使用合并查询...但是有任何性能问题吗?

0 投票
3 回答
6129 浏览

grails - grails 中的批量更新

我正在使用 grails 2.2.2 和 mysql 数据库。我的表中有 800 条记录(随着时间的推移会增加)。我必须根据一些计算将特定列值更新为新值。请提出一种不影响性能的方法。

0 投票
0 回答
1161 浏览

ios - 集合视图单元格在移动后不会重新加载

我正在使用 aUICollectionView来显示场上不同位置的球员。每个单元格都包含显示玩家姓名和位置名称的标签。视图中的位置由从数据源读取位置信息的自定义布局确定……即字段上的位置与数据源中的索引无关,就像在流布局中一样。不同位置的单元格也有点不同......“cellForItemAtIndexPath”根据位置从各种重用标识符中进行选择。

我希望用户能够交换位置的球员。只要我只更新集合视图数据源并调用[self.collectionView reloadData]. 但我想动画单元格的交换,所以用户可以看到变化。我正在使用此代码,其中 inboundSourceIndex 和 outboundSourceIndex 先前已设置为正在交换的项目:

插入批量更新后,我得到了所需的单元格动画,这些单元格似乎相互交换,玩家名称标签正确显示,并且布局为单元格提供了正确的框架(可能会有所不同)。但其他一切都是混乱的:位置标签没有更新,单元格没有使用正确的重用标识符重新加载——就像 collectionView 并没有真正调用cellForItemAtIndexPath. 我尝试更改数据更新和 reloadData 的顺序,但无济于事。我可以看到移动单元格可能会如何暂时改变 indexPaths,但是在我调用invalidateLayoutand之后,collectionView 怎么会看起来不对reloadData?那不是根据数据源从头开始构建视图吗?

0 投票
1 回答
2161 浏览

python - Peewee - 如何批量更新以及如何仅更新已编辑的行?

我正在尝试通过为书籍制作笔记应用程序来学习 Peewee 和 Bottle。

模型和关系包括Subject -< Book -< Chapter -< Note.

note.tpl页面上,我希望在表格中显示所有笔记,并允许最终用户随意更新任何笔记:

假设我有一个这样的控制器:

这很糟糕,原因有三个:

1) 它不会进行批量更新,而是一次更新每个音符。我将如何在 Peewee 中进行批量更新?

2)它会更新每一个笔记,甚至是用户尚未编辑的笔记。我如何能够确定哪些行已被编辑并仅更新这些行?

没有使用 JQuery(或在非常有限的程度上使用它),我应该如何解决这些问题?

0 投票
1 回答
7015 浏览

java - 如何修复 java.sql.BatchUpdateException?

我编写了一个使用 jdbc 连接到 mysql db 的 java 程序。它将记录插入到 mysql 中。sql是这样的:

但它给出了这个错误:

但奇怪的是:我手动插入它没有错误。

提前致谢,