问题标签 [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 投票
5 回答
37501 浏览

java - 使用 JPA/EJB3 进行批量插入

JPA/EJB3 框架是否提供标准方式来执行批量插入操作...?我们使用hibernate作为持久化框架,所以我可以回退到Hibernate Session并使用组合session.save()/session.flush()实现批量插入。但是想知道EJB3是否支持这个......

0 投票
2 回答
1112 浏览

php - 批量插入和准备好的查询错误

好的,所以我需要使用 MySQL 查询的结果填充 MS Access 数据库表。这一点都不难。我已将程序写入将模板 .mdb 文件复制到临时名称并通过 odbc 打开它的位置。到目前为止没有问题。

我注意到 Access 不支持批量插入 ( VALUES (foo, bar), (second, query), (third query))。所以这意味着我需要每行执行一个查询(可能有数十万行)。初始性能测试显示 Access 的插入速率约为 900 次/秒。对于我们最大的数据集,这可能意味着几分钟的执行时间(这不是世界末日,但显然越快越好)。

所以,我尝试测试一个准备好的语句。但我不断收到错误(Warning: odbc_execute() [function.odbc-execute]: SQL error: [Microsoft][ODBC Microsoft Access Driver]COUNT field incorrect , SQL state 07001 in SQLExecute in D:\....php on line 30)。

这是我正在使用的代码(第 30 行是odbc_execute):

所以我的问题是两个方面。首先,是否知道为什么会出现该错误(我已经检查过,数组中的数字与与参数?标记数量匹配的字段列表匹配)?其次,我应该为此烦恼还是只使用直接的 INSERT 语句?就像我说的,时间并不重要,但如果可能的话,我希望尽可能缩短时间(再说一次,我可能会受到磁盘吞吐量的限制,因为 900 次操作/秒已经很高了).. .

谢谢

0 投票
4 回答
23495 浏览

activerecord - 如何在codeigniter活动记录中使用select插入记录

我想使用 CodeIgniter Active Record 类实现一个 sql 查询。查询看起来像这样..

在不使用 $this->db->query 方法的情况下,这在 CodeIgniter 中是否可行?

解决方案

问候

0 投票
3 回答
36828 浏览

mysql - Codeigniter 在 SQL 中插入多行

我对 Codeigniter 很陌生。我有一个看起来像这样的表格。

可能有 0 到 n 行,通常是 5 到 10 行。如何在 SQL 中插入它们?这可以使用 Codeigniter 还是我应该使用本机 PHP 脚本?


我这样做了。有用。但这个解决方案似乎并不优雅。

kevtrout 的答案看起来更好,但目前正在引发很多错误。

有没有办法一次性插入所有数据?

0 投票
1 回答
2468 浏览

sql - 忽略 Postgresql 批量插入错误

假设这个简单的 SQL 查询:

可以说val3是无效的值col1(val1,val2)这将导致 psql 中止整个 INSERT 命令——它也不会插入(val5,val6)

是否可以让 postgresql 忽略此错误,因此它不会插入(val3,val4)对但仍会继续执行(val1,val2)and (val5,val6)

我每天都从我的合作伙伴那里获得文本文件中的数据库转储(无法更改),我用它来制作它的副本。有时他巨大的 INSERT 查询会导致如下错误:

...这使得整个 30000+ 值没有插入到表中,因为其中一个值是错误的。

0 投票
3 回答
2635 浏览

sql - BLToolKit:如何插入对象列表?

BLToolKit(http://bltoolkit.net)是否可以为对象列表(批量插入)创建一组记录?

如果是,这怎么可能?

非常感谢!

0 投票
7 回答
169983 浏览

java - Java:使用 PreparedStatement 将多行插入 MySQL

我想使用 Java 一次将多行插入到 MySQL 表中。行数是动态的。过去我在做...

我想优化它以使用 MySQL 支持的语法:

但是PreparedStatement我不知道有什么方法可以做到这一点,因为我事先不知道array将包含多少元素。如果 a 不可能PreparedStatement,我还能怎么做(并且仍然转义数组中的值)?

0 投票
2 回答
307 浏览

sql-server - 通过组插入减少 sql server 开销

我有一个爬虫,可以跨网页获取文档。当我收到一个页面时,我立即在 sql server 中插入内容(每秒 20 次插入)。这会减慢我的应用程序和服务器响应速度。我想我可以在一个组中收集 20 个项目,然后使用具有 (20*fieldCount) 的存储过程将其插入。

这会稍微减少 sql server 开销,但我不知道将 200 参数传递给 sql server 存储过程不会产生另一个开销。请帮我。有没有更好的方法来最小化这种频繁插入的开销?

0 投票
1 回答
717 浏览

java - Neo4j中批量插入期间的数字索引

我正在将节点和关系批量插入到 Neo4j 图形数据库中。一切正常,包括多个属性的索引([String] name, [int] id)。但是,当我尝试按范围查询属性“id”的索引时,它不会返回任何结果。

问题,正如我从非批处理示例中得出的那样,是我不能提供数字ValueContextBatchInserterIndex这样的:

在批量插入期间,我没有找到任何关于数字索引的文档。

查询代码如下:

是否可以在批量插入操作中添加数字索引,以便我可以按范围查询值?

谢谢。


编辑

我做错了什么是我试图将相同的属性映射传递给createNode()and index.add()。前者崩溃了,因为它不需要ValueContext也不理解它。因此,请务必将不同的属性映射传递给这些方法,并ValueContext在用于 的方法中包含 -ed 数值index.add

0 投票
5 回答
41720 浏览

sql-server - T-SQL,在子查询中插入 MAX()+1 不会增加,替代方案?

我有一个查询,我需要将行“批量”插入到具有没有标识的主键的表中。

(简化示例 - 请不要评论可能的并发问题:-))

问题是它不会增加“每个”处理行的 PK,并且我得到主键违规。

我知道如何使用游标/while 循环来做到这一点,但我想避免这种情况,并以基于集合的方式解决它,如果这可能的话?

(运行 SQL Server 2008 标准版)