我正在进行批量插入,每批插入 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/