0

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

但是当批量插入失败时,它会针对该特定批次的所有 1200 条记录。

那么,有什么方法可以找出如何从批量插入失败的 1200 条记录中获取确切的记录。

还有一个问题。

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

有没有什么办法可以在这段时间内网站没有关闭。

任何帮助将不胜感激。

谢谢

4

1 回答 1

2

没有任何工具能给你带来更高的性能,因为你的瓶颈是你的服务器......你可以做的是降低服务器负载是使用事务,或者使用“插入延迟”。

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

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

于 2011-12-08T09:18:09.913 回答