我正在做批量插入,每批插入 80k 条记录和 1200 条记录。查询执行良好。问题是我正在从 mssql 服务器获取数据并从中创建一个批处理数组。所以有一些变化是由于某种原因导致批量插入失败。
但是当批量插入失败时,它会针对该特定批次的所有 1200 条记录。
那么,有什么方法可以找出如何从批量插入失败的 1200 条记录中获取确切的记录。
还有一个问题。
在进行这些插入时,网站会因更新而关闭。
有没有什么办法可以在这段时间内网站没有关闭。
任何帮助将不胜感激。
谢谢
我正在做批量插入,每批插入 80k 条记录和 1200 条记录。查询执行良好。问题是我正在从 mssql 服务器获取数据并从中创建一个批处理数组。所以有一些变化是由于某种原因导致批量插入失败。
但是当批量插入失败时,它会针对该特定批次的所有 1200 条记录。
那么,有什么方法可以找出如何从批量插入失败的 1200 条记录中获取确切的记录。
还有一个问题。
在进行这些插入时,网站会因更新而关闭。
有没有什么办法可以在这段时间内网站没有关闭。
任何帮助将不胜感激。
谢谢
没有任何工具能给你带来更高的性能,因为你的瓶颈是你的服务器......你可以做的是降低服务器负载是使用事务,或者使用“插入延迟”。
事务: [ 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 上提示有关插入。当数据库不会被占用做其他事情时,总是会处理插入延迟,与标准插入/更新相比,它的优先级较低。