问题标签 [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.
mybatis - MyBatis 批量插入错误
插入 SQL
sql
:_
豆子:
我的测试用例:
服务实现:
道:
和 TestCase 失败并出现以下异常:
sql - 插入大量记录而不锁定表
我正在尝试将1,500,000条记录插入表中。我在插入过程中面临表锁定问题。所以我想出了下面的批量插入。
我在Destination
table上有一个聚集索引(proj_details_sid ,period_sid )
。NOT EXISTS
部分只是为了限制插入的记录再次插入到表中
我做得对吗,这会避免表锁吗?或者有没有更好的方法。
注意:所用时间或多或少与批处理和没有批处理插入相同
java - 执行一定数量的批处理后出现 Teradata JDBC 错误 1338
我正在尝试使用RJDBC
R 包通过一批 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
php - 防止在yii2中重复batchInsert
我知道我可以在 Yii 2 中使用上面的代码进行批量插入。但是如何使用 batchInsert 防止重复输入?例如,如果我有一个重复的名称,我不想将它插入到数据库中
.net - 通过 Dapper 批量插入比逐个插入行慢
我正在使用 Dapper 将来自实时馈送的数据插入 Sql Server,所以我关心性能。最近,我注意到一些奇怪的事情。
开箱即用,如果你给 Dapper 一个集合和一个插入查询,它会为每个元素触发插入语句。我的测试表明我可以通过这种方式在 1 秒内插入大约 1800 个具有 12 个字段的对象(仅计算connection.Execute(...)
运行时间。
现在,我没有在 Dapper 中找到批量插入功能并实现了我自己的(构造参数列表和 sql 查询)。之后那,我发现我只能在大约 3 秒内插入一批(限制为 1000 行)(同样,只计算connection.Execute(...)
调用。
所以,这使我的批处理慢了近 6 倍而不是在单独的查询中发送每一行。有人可以向我解释吗?我认为人们使用批处理操作来加速这个过程。
我希望插入时间最多为 1 秒。我使用本地网络上的 Sql Server 2012 Standard。我要插入的表仅在主键(即 bigint 字段)上有聚集索引,没有非聚集索引和触发器。
我可以发布代码,但真的没有什么特别的
sql - hibernate中批量插入的最佳实践(大插入)
我有一项工作,它运行并插入超过 20000 条解析 json 的记录,我正在使用休眠将我的整个应用程序连接到 oracle db。这需要大约 1 小时的时间,因为它还涉及 json 调用和 json 解析,而仅在日志中打印解析的字段需要一分钟或 2 分钟。我的问题是,有没有办法使用休眠优化插入过程.
我尝试了来自Hibernate batch size混淆的建议,但我仍然觉得很慢。
- 我尝试增加批量大小。
- 我尝试禁用二级缓存。
- 我还根据批量大小刷新并清除了我的会话
我打算转向 jdbc 批量插入,但想尝试使用 hibernate 进行优化。
我希望这可以为大多数业余程序员提供一个通用的机会,帮助他们获得最佳实践
laravel - Laravel 5.2 中的批量插入
我正在使用一个 API 进行大量计算,最后有一个大的 Foreach 循环,几乎 100 个数据库字段。
在每次迭代中,我都会在数据库中插入数据。我想在最后插入一次数据(像 CodeIgniter 中的批量插入)。
任何人都知道如何在迭代结束时插入所有数据。而不是每次迭代它都会在数据库中插入行。
我想在循环结束时插入数据。任何帮助或想法表示赞赏。
java - 在 oracle 中批量插入使用 max(column) + 1 作为 primark 键给出 DuplicateException 错误
我试图在 oracle DB 中进行批量插入。查询是:
批量插入中有两个类似的语句。上述操作引发了 DuplicateException。
java - Hibernate - 如何验证是否确实执行了批量插入
技术栈:Oracle 数据库 11.2.0.2、Java 1.6、Hibernate 3.6.6.Final。
我是休眠的新手,如果这是微不足道的,请道歉。
以下代码应该进行一些优化:
hibernate.cfg.xml
有以下条目
我如何验证hibernate是否真的批量处理所有这些插入?如果它执行 10 次插入,则没有增益。save()
一种想法是在检查记录是否已添加到 db之后立即放置 jdbc 普通查询:
在我的情况下,它返回一个带有先前添加元素的非空集。这有什么意义吗?我还能如何检查批处理是否有效。
提前致谢
c# - 将 BSON 文档添加到列表中非常慢
列表.Count() = 121
列表[k].Count() = 10000
列表[k].ElementAt(i).ItemArray.Count() = 137