我在一张桌子上做了几次插入.现在,我已经迭代了一个对象列表,对于每个对象,我使用insert语句执行ExecuteNonQuery. 我想知道是否有紧固的方法来做到这一点. 这样,插入800个寄存器需要几分
我想知道是否有紧固的方法来做到这一点.
这样,插入800个寄存器需要几分钟.
我在Java中使用了executeBatch方法,对于这个提议,c#中有类似的东西.
问候 !
插入物[相对]快速/便宜.提交缓慢/昂贵.除非是高延迟连接,否则多个(如数百个)插入语句应该没问题.
“……需要几分钟……”听起来好像没有使用交易(因此可能有800次提交 – 哎哟!).在C#中控制事务的最简单方法之一是使用TransactionScope:
using (var connection = ...) using (var tx = new TransactionScope()) { foreach (var row in rows) { // insert row } // commit all at once tx.Complete(); }
如果限制事务数量(因此提交)不足以满足功能要求,我只会考虑方法.
快乐的编码.