Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一项使用 MARS 更新/插入 7000 多行的服务。有一个更好的方法吗?
如果您定期执行此操作,那么对于此卷,我将使用SqlBulkCopy将数据推送到临时表(与目标表相同的架构,但隔离),然后使用存储过程进行插入/更新(从将表暂存到实际表中) - 可能包含在事务中。
SqlBulkCopy
这将最大限度地减少往返,并使用批量插入 API 推送数据。
如果您不需要一批中的所有内容,另一种选择是处理(例如)100 条记录块中的数据;这应该可以工作,不会导致事务花费太长时间 - 它会明显比批量复制方法慢,但具有基于对象的优势,并且不需要您使用额外的工具/语言集。