mysql 批量插入

标签 mysql insert bulkinsert batch-insert

我正在进行批量插入,每批插入 80k 条记录和 1200 条记录。 查询执行良好。问题是我正在从 mssql 服务器获取数据并从中创建一个批处理数组。所以有一些变化是由于某些原因导致批量插入失败。

但是,当批量插入失败时,该特定批处理的所有 1200 条记录都会失败。

那么,有没有办法找出如何从批量插入失败的那批1200条记录中获取准确的记录。

还有一个问题。

在进行这些插入时,网站会因更新而关闭。

有什么方法可以让网站在这段时间内不停机​​。

任何帮助将不胜感激。

谢谢

最佳答案

没有任何工具可以为您提供更高的性能,因为您的瓶颈是您的服务器...... 降低服务器负载的方法是使用事务,或者使用“延迟插入”。

交易:[http://dev.mysql.com/doc/refman/4.1/...-commands.html ] 如果你的数据库支持它(mysql可能需要一个特定的后端来支持它,具体取决于mysql版本),你可以通过发送“start tansaction”来启动一个事务,然后一个接一个地发送所有插入,并用“”完成事务提交”或“回滚”。 这种方法有一个很大的优点,那就是数据库知道在提交之前它不必重新计算索引。

插入延迟:[ http://dev.mysql.com/doc/refman/4.1/...t-delayed.html ] 这是一个特殊的 mysql 命令,可让您向数据库提供有关插入重要性的提示。 当数据库不会被占用做其他事情时,延迟插入总是会被处理,与标准插入/更新相比,它的优先级较低。

关于mysql 批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8427091/

相关文章:

mysql - ASP 错误 : Multiple-step operation generated errors. 检查每个状态值。 (所需对象)

MySQL INSERT 和 ON DUPLICATE SELECT 可能吗?

c# - SQL Server批量插入/更新与插入或更新场景中的MERGE

mysql - 使用 XML 文件在 MySQL 数据库的表中插入多行

mysql - SQL Insert 使所有用户成为 friend

PHP自定义SQL类,通过数组将输出数据传递给另一个函数

c++ - C++ 中的 unordered_map 插入是如何工作的?

sql-server - MS SQL 批量插入

mysql - 从 MYSQL 保存和检索 URL

postgresql - 在 Go 语言中运行 SQL 查询时 PQ 关系不存在