问题标签 [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.
oracle - 带返回子句的 JDBC 批量插入
在使用 JDBC Batch Insert 语句时,有没有办法使用 JAVA 中的返回子句获取受影响行的值?我能够获得受影响的单行所需的值。但不适用于所有批量插入?
代码 :
hibernate - Grails 循环中的多对多级联保存
我在A类和B类之间有一个多对多的关系,A拥有这个关系。所以 A 有责任级联保存 B 并更新连接表。
伪代码:
我有一个批量插入循环
所有十个 b 实例都是从 A 到 B 级联保存的,每个 b 实例都有一个生成的 id (1001 ~ 1011)
奇怪的是连接表中只有一条记录,它是最后一个被考虑的 b 实例,这意味着在连接表中我有一条记录:
你有什么想法吗?
谢谢你 : )
akka - 这是在数据库中插入大量记录的有效方法。使用 Akka Actors 批量插入或连接池
我正在读取巨大的文件并使用 slick 和 akka 演员将记录插入到 MySql 表中。我的做法是——
多个参与者读取文件和单个数据库参与者将记录插入表中。在这里,我使用批量插入 slick。(隐式会话)
我可以将连接池 fpr 与多个数据库参与者一起使用以在表中插入记录吗?每个演员将插入一条记录。(不批量插入)
那么执行此操作的有效方法是什么..?
谢谢..
java - 如何处理 Statement.ExecuteBatch() 中的错误或重复记录
我有一个 java 程序,它处理一个包含 100 万条记录的文件,并使用批量插入将其插入到表中,即Statement.addbatch()
,然后Statement.executeBatch()
在每 1000 条记录之后。该程序运行得相当快。
但是,如果有重复记录,即表引发异常,则整个批次都消失了,其余记录将无法跟踪。
即使我得到updatecount()
is 也无济于事,因为我无法将重复项插入另一个表等。
有没有一种方法,在 1000 个特定的批次插入中,如果有坏记录,那么该批次中的每条记录都可以一个一个地处理,以便可以将坏/重复记录放在另一个表中,并且非常规表中的重复项?
还有其他我可以使用的课程吗?我知道在 C++ 中,Oracle 提供了 OCI,它可以处理批处理中的单个记录(称为主机数组操作),但在 Java 中,批量插入通常是Statement.adding
在循环中完成,然后使用Statement.executeBatch()
.
谢谢。
java - Hibernate 批量更新与存储过程
我们有大约 100,000 条记录要插入数据库。在 Hibernate Batch 插入中执行此操作是个好主意吗?选择批量大小的策略应该是什么?
或者我们应该为批量插入调用存储过程?无法获取有关将对象数组从 Hibernate 传递到 DB 存储过程的任何信息。
或者两者的混合和匹配会加速这个过程。喜欢批量调用Stored Proc?
java - spring-boot项目中的JPA“批量插入”非常慢
嘿,我正在尝试插入大约 800 行@oneToMany
关系,但它们似乎真的很慢。我不太明白为什么,因为我读过一些指南说它应该相当快。
所以我希望有好心人能告诉我是否有什么我误解的地方,并且可以帮助我提高插入的性能。
存储库:
域类:
对于这个类,我还尝试添加批量大小,并使用非特定存储库(基本上是 EntityManager)的方法:.persist(entity)
“父”实体类:
“子”实体类:
当前运行时间: 超过 4 分钟(276642 毫秒)进行插入(796 个脚注行和 900 个描述周期)
php - ActiveRecord 批量插入 (yii2)
是否可以使用 Yii 的 ActiveRecord 在一个查询中插入多行?或者这只能通过较低级别的 DAO 对象实现?
我有两个模型 1- Transaction 2-TransactionItems
交易项目中有多行(单击添加行)。
我想在数据库中存储多行事务项。
mysql - Node.js - Socket.IO - MySQL:执行批量插入查询
我是 node.js 的新手,并且有一个关于 mysql 的查询 - 使用 node.js 和 socket.io 进行批量插入查询。
在将 10 条记录推入 batch_insert_arr 数组后,我插入了 mysql 表。但我怀疑它是否会基于单个套接字(client.on('message',function(data){})工作。这意味着单个套接字需要发送 10 条消息然后它才会工作。我需要连接任何套接字必须能够将数据推送到 batch_insert_arr 数组中,然后在批量 10 条记录后将其插入到数据库中。
另一个查询:插入 db 表后,我清空了 batch_insert_arr 数组。在处理插入查询时,可能会发生一些其他套接字也将数据添加到该数组中并清空它可能会丢失少量记录的情况。
请建议如何继续前进或建议我更好的方法。
提前致谢。
java - 使用批量插入向数据库插入大量数据
我创建了一个向 MySql 数据库插入数百万个值的程序。我读到了批量插入,它将优化我的程序并使其更快,但是当我尝试这样做时,它以相同的方式工作。我没有将每个值插入数据库,而是每次将 500 个值保存在一个列表中,然后将它们插入一个大循环中,如下所示:
然后我删除列表中的所有值并再次开始收集 500 个值。它不应该更好地工作吗?
我的插入代码是:
我有一些问题:
1.为什么当我进行批量插入时它不能更快地工作?
2.每次我应该输入多少个值才能让它更快?(500,1000,10000)一起输入的值越多越好?
3.我将值插入数据库的方式是最好的方式吗?
sql - What means 'maxBatchSize' parameter in InsertBatch method
BLToolkit has InsertBatch method to insert a set of objects.
What is the meaning of 'maxBatchSize' parameter? I was not able to find any documentation on that, neither that clear from source code.
Please advise.
Thanks.
P.S. I believe that is parameter which tells what amount of records/objects should be inserted per query, but why does it have 'max' prefix?