使用Mars来更新7000行是否有效?

时间:2009-10-23 05:49:15

标签: c# sql sql-server-2005 mars

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

1 个答案:

答案 0 :(得分:6)

如果你经常这样做,那么对于这个卷,我会使用SqlBulkCopy将数据推送到临时表(与目标表相同的模式,但是是隔离的),然后使用存储过程来执行插入/更新(从登台表到实际表) - 可能包含在事务中。

这将最小化往返次数,并使用批量插入API来推送数据。

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