问题标签 [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.
android - 基于 2 个字段通过 contentProvider 批量插入/更新
我正在创建一个 contentProvider ,并且我希望能够使用单个批处理操作向它发送多个数据库记录(contentValues)以插入或更新到单个表中。
我怎么做?
batchInsert 仅用于插入,但这是否意味着插入已经存在的东西不会做任何事情?
另外,更新操作有没有办法使用特殊约束?例如,我需要忽略主键并根据另外两个唯一的字段进行更新。
mysql - 在 mysql 中跟踪缓慢的批量插入查询
我有一个程序在某些时候会在 MySQL 表中执行数千次插入。这些插入被事务包围。当我使用生产数据(复制的 prod.db)在开发机器上运行代码时,需要几分钟才能完成。当我在生产中运行它时,它运行了 30 多分钟。
dev 和 prod 服务器都运行 MySQL 5.1(具有次要版本差异,5.1.64 与 prod 中的 5.1.41)。服务器是一台功能强大的机器,具有 12 个内核、16GB RAM、快速磁盘等(与我微不足道的开发计算机相比)。唯一的区别是生产机器也是 MySQL 复制主机。但是,我写入的特定模式不会被复制。
我倾向于将问题放在my.cnf
配置值上,但任何其他想法都会有所帮助。我还注意到,虽然没有复制特定的模式,但它也没有在 binlog 中被忽略(binlog-ignore-db = <db-name>
在本[mysqld]
节中),所以这也是我想研究的。
在配置值中我应该注意哪些其他危险信号以提高数千次插入规模事务的速度?我还应该在哪里提高批量插入性能?谢谢。
编辑 - 执行此操作的代码(非常简化)
在红宝石中,使用mysql2
适配器:
java - JDBC Batch 执行速度极慢
谁能告诉我我做错了什么我在 mysql 中执行 350 次插入,这需要 40 秒。
这是代码
这是控制台:
所以这.executeBatch()
需要40秒,可能是什么问题?
java - 如何在休眠中提交批量插入?
我必须使用休眠将大量对象保存到数据库中。我不想一次提交所有这些,而是想在会话中存在 n (BATCH_SIZE) 对象时立即提交。
我会尝试类似上面的方法,但我读到它session.flush()
不会将更改提交到数据库。这是以下代码的正确方法吗?
mysql - MySql、LOAD DATA 或 BATCH INSERT 或任何其他更好的批量插入方式
我正在尝试创建一个 Web 应用程序,主要目标是将请求数据插入数据库。
这是我的问题,一个请求本身包含10,000到1,00,000个数据集的信息(每个数据集需要作为一行单独插入数据库中)
我可能会同时在此应用程序上收到多个请求,因此我有必要快速插入。
我正在使用 MySQL 数据库,哪种方法更适合我,LOAD DATA
或者BATCH INSERT
有比这两种更好的方法吗?
您的应用程序将如何检索此信息?- 将有另一个基于后台线程的 Java 应用程序,将从该表中选择记录,逐个处理并删除它们。
您可以将您的请求(批次)排队,以便您的系统一次处理一批吗?- 现在我们正在考虑直接将其插入数据库,但是如果这种方法不够可行,我们可能会考虑对数据进行排队。
信息的检索是否需要与新数据的插入同时进行?- 是的,我们保持同步。
以下是您问题的某些答案,奥利·琼斯
谢谢!
python - 如何使用 Python 批量插入 Oracle 数据库?
我有一些每月的天气数据,我想插入到 Oracle 数据库表中,但我想批量插入相应的记录以提高效率。谁能建议我如何在 Python 中执行此操作?
例如,假设我的表有四个字段:一个站 ID、一个日期和两个值字段。记录由站 ID 和日期字段(复合键)唯一标识。我必须为每个站点插入的值将保存在一个包含 X 个完整年数据的列表中,例如,如果有两年的值,那么值列表将包含 24 个值。
如果我想一次插入一条记录,我假设下面是我这样做的方式:
有没有办法做我上面正在做的事情,但是以一种执行批量插入以提高效率的方式?顺便说一句,我的经验是使用 Java/JDBC/Hibernate,所以如果有人可以给出与 Java 方法相比的解释/示例,那么它会特别有帮助。
编辑:也许我需要使用 cursor.executemany() 如此处所述?
提前感谢您的任何建议、意见等。
bulkinsert - 使用 MyBatis ExecutorType.Batch 进行批量插入操作时如何控制批量大小
我正在尝试使用 mybatis 批处理执行(ExecutorType.BATCH)支持。我想批量插入数据库性能和可伸缩性的原因很少的记录。我想覆盖默认的 Mybatis 批量大小。我没有找到任何以编程方式配置批量大小的方法。有没有办法覆盖默认的批量大小?以下是供您参考的代码:
谢谢。
oracle - Oracle fom Nhibernate 批量插入不起作用
这是一些代码:
相同的代码,相同的配置。但 oracle 不是批量插入。
我尝试添加
抛出空对象。
java - 如何从 Oracle 中的 JDBC 批量插入中获取生成的密钥?
我正在使用 JDBC 批量插入插入许多记录。有什么方法可以获取每条记录的生成密钥吗?我可以ps.getGeneratedKeys()
与批量插入一起使用吗?
我在用oracle.jdbc.OracleDriver
我正在考虑在循环内部使用ps.executeUpdate()
withps.getGeneratedKeys()
来获得所需的结果。还有其他解决方案吗?
maven-3 - Maven 插件错误:测试失败
我正在尝试使用 Maven(neo4j 的批量导入器)安装插件。使用
给我一个无法创建目录的错误。我将其更改为:
它似乎有效,直到由于以下测试而构建失败:
以前从未使用过 Maven,这很神秘。有谁知道这些可能意味着什么,以及如何解决这个问题?如果我可以提供更多信息,请询问。
谢谢你。