问题标签 [batch-insert]

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 投票
0 回答
1480 浏览

mybatis - MyBatis 批量插入错误

插入 SQL

sql:_

豆子:

我的测试用例:

服务实现:

道:

和 TestCase 失败并出现以下异常:

0 投票
4 回答
33273 浏览

sql - 插入大量记录而不锁定表

我正在尝试将1,500,000条记录插入表中。我在插入过程中面临表锁定问题。所以我想出了下面的批量插入。

我在Destinationtable上有一个聚集索引(proj_details_sid ,period_sid )NOT EXISTS部分只是为了限制插入的记录再次插入到表中

我做得对吗,这会避免表锁吗?或者有没有更好的方法。

注意:所用时间或多或少与批处理和没有批处理插入相同

0 投票
3 回答
6874 浏览

java - 执行一定数量的批处理后出现 Teradata JDBC 错误 1338

我正在尝试使用RJDBCR 包通过一批 10000 条记录将 380 万条记录插入到包含 14 列的 Teradata 表中。插入 380000 条记录后它总是崩溃,即在第 39 批执行时。这是我得到的错误,

.jcall(ps, "[I", "executeBatch") 中的错误:
java.sql.BatchUpdateException: [Teradata JDBC Driver] [TeraJDBC 15.10.00.22] [Error 1338] [SQLState HY000] 执行 PreparedStatement 批处理时发生故障要求。可以在使用 getNextException 访问的异常链中找到失败的详细信息。

我尝试从同一个数据框中更改为一组不同的行。而且,行为保持不变,在第 39 批执行时崩溃。

知道这是Error 1338什么,有什么可以解决的吗?此外,它提到getNextException但我如何将它与 R 一起使用?

我使用的方法类似于这个 https://developer.teradata.com/blog/ulrich/2013/11/a-wider-test-case-on-r-jdbc-fastload

0 投票
1 回答
1694 浏览

php - 防止在yii2中重复batchInsert

我知道我可以在 Yii 2 中使用上面的代码进行批量插入。但是如何使用 batchInsert 防止重复输入?例如,如果我有一个重复的名称,我不想将它插入到数据库中

0 投票
2 回答
3477 浏览

.net - 通过 Dapper 批量插入比逐个插入行慢

我正在使用 Dapper 将来自实时馈送的数据插入 Sql Server,所以我关心性能。最近,我注意到一些奇怪的事情。
开箱即用,如果你给 Dapper 一个集合和一个插入查询,它会为每个元素触发插入语句。我的测试表明我可以通过这种方式在 1 秒内插入大约 1800 个具有 12 个字段的对象(仅计算connection.Execute(...)运行时间。
现在,我没有在 Dapper 中找到批量插入功能并实现了我自己的(构造参数列表和 sql 查询)。之后那,我发现我只能在大约 3 秒内插入一批(限制为 1000 行)(同样,只计算connection.Execute(...)调用。
所以,这使我的批处理慢了近 6 倍而不是在单独的查询中发送每一行。有人可以向我解释吗?我认为人们使用批处理操作来加速这个过程。
我希望插入时间最多为 1 秒。我使用本地网络上的 Sql Server 2012 Standard。我要插入的表仅在主键(即 bigint 字段)上有聚集索引,没有非聚集索引和触发器。
我可以发布代码,但真的没有什么特别的

0 投票
0 回答
205 浏览

sql - hibernate中批量插入的最佳实践(大插入)

我有一项工作,它运行并插入超过 20000 条解析 json 的记录,我正在使用休眠将我的整个应用程序连接到 oracle db。这需要大约 1 小时的时间,因为它还涉及 json 调用和 json 解析,而仅在日志中打印解析的字段需要一分钟或 2 分钟。我的问题是,有没有办法使用休眠优化插入过程.

我尝试了来自Hibernate batch size混淆的建议,但我仍然觉得很慢。

  • 我尝试增加批量大小。
  • 我尝试禁用二级缓存。
  • 我还根据批量大小刷新并清除了我的会话

我打算转向 jdbc 批量插入,但想尝试使用 hibernate 进行优化。

我希望这可以为大多数业余程序员提供一个通用的机会,帮助他们获得最佳实践

0 投票
1 回答
13608 浏览

laravel - Laravel 5.2 中的批量插入

我正在使用一个 API 进行大量计算,最后有一个大的 Foreach 循环,几乎 100 个数据库字段。

在每次迭代中,我都会在数据库中插入数据。我想在最后插入一次数据(像 CodeIgniter 中的批量插入)。

任何人都知道如何在迭代结束时插入所有数据。而不是每次迭代它都会在数据库中插入行。

我想在循环结束时插入数据。任何帮助或想法表示赞赏。

0 投票
1 回答
102 浏览

java - 在 oracle 中批量插入使用 max(column) + 1 作为 primark 键给出 DuplicateException 错误

我试图在 oracle DB 中进行批量插入。查询是:

批量插入中有两个类似的语句。上述操作引发了 DuplicateException。

0 投票
2 回答
8660 浏览

java - Hibernate - 如何验证是否确实执行了批量插入

技术栈:Oracle 数据库 11.2.0.2、Java 1.6、Hibernate 3.6.6.Final。

我是休眠的新手,如果这是微不足道的,请道歉。

以下代码应该进行一些优化:

hibernate.cfg.xml有以下条目

我如何验证hibernate是否真的批量处理所有这些插入?如果它执行 10 次插入,则没有增益。save()一种想法是在检查记录是否已添加到 db之后立即放置 jdbc 普通查询:

在我的情况下,它返回一个带有先前添加元素的非空集。这有什么意义吗?我还能如何检查批处理是否有效。

提前致谢

0 投票
1 回答
447 浏览

c# - 将 BSON 文档添加到列表中非常慢

列表.Count() = 121

列表[k].Count() = 10000

列表[k].ElementAt(i).ItemArray.Count() = 137