C#中海量数据的批量插入和更新
对于海量数据的插入和更新,ADO.NET确实不如JDBC做到好,JDBC有统一的模型来进行批操作.使用起来
非常方便:
PreparedStatement ps = conn.prepareStatement("insert or update arg1,args2....");
然后你就可以
for(int i=0;i<1000000000000000;i++){
ps.setXXX(realArg);
.....
ps.addBatch();
if(i%500==0){ //假设五百条提交一次
ps.executeBatch();
//clear Parame Batch
}
}
ps.executeBatch();
这样的操作不仅带来极度大的性能,而且非常方便.按说,ADO.NET中,要实现这样的功能,应该直接在Command接口中
或DataAdapter接口中提供Addbat和CommitBat的API,但ADO.NET的却并没有这样简单地实现,而是要求开发者通过
复杂的变通方法.
对于大量的插入操作,可以利用一个空的DataTable加入要插入的行,达到一定数量提交后清空该表就行了,
实现起来并不算复杂:
![\](/upload/2013111601/2010071114350868.gif)
![\](/upload/2013111601/2010071114350868.gif)
![\](/upload/2013111601/2010071114350832.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
![\](/upload/2013111601/2010071114350851.gif)
补充:软件开发 , C# ,