3

我有一项使用 MARS 更新/插入 7000 多行的服务。有一个更好的方法吗?

4

1 回答 1

6

如果您定期执行此操作,那么对于此卷,我将使用SqlBulkCopy将数据推送到临时表(与目标表相同的架构,但隔离),然后使用存储过程进行插入/更新(从将表暂存到实际表中) - 可能包含在事务中。

这将最大限度地减少往返,并使用批量插入 API 推送数据。

如果您不需要一批中的所有内容,另一种选择是处理(例如)100 条记录块中的数据;这应该可以工作,不会导致事务花费长时间 - 它会明显比批量复制方法慢,但具有基于对象的优势,并且不需要您使用额外的工具/语言集。

于 2009-10-23T06:41:37.790 回答