假设我有10w条数据,要批量更新
使用asp.netC#应该怎么写执行效率高?
求帮助~~

解决方案 »

  1.   

    C#不管写什么,到头来都是执行SQL语句。所以都要写SQL来提高效率。如果不涉及数据的完整性。C#能做的就是采用多线程或者休眠的方式,分段执行SQL的更新。减少服务器的压力。
      

  2.   

    LZ看看http://apps.hi.baidu.com/share/detail/14793624这个
      

  3.   


    update table set 
    column1=case id when 1 then 'value1' when 2 then 'value2' end
    column2=case id when 1 then 'value1' when 2 then 'value2' end
    where id in(1,2)
    比较囧的方法,但确实很高效。
    缺点就是需要拼接。
      

  4.   

    update table set 
    column1=case id when 1 then 'value1' when 2 then 'value2' endcolumn2=case id when 1 then 'value1' when 2 then 'value2' end
    where id in(1,2)end 后少了一个逗号
      

  5.   

    10万条的数据 更新 还真得一会了 ,我的方案是先删 新插入 ,插入用blukCopy做,这样估计30秒内能解决~
      

  6.   

    插入的话用SqlBullCopy最快,更新的话用事务。
      

  7.   

    这个更新需求太大了啊,批量插入倒是可以用SqlBulkCopy。
    我觉得看你数据表怎么设计了。你可以先用SqlBulkCopy把那些数据全插入进去,然后根据时间删除以前的历史数据
      

  8.   


    是一个进销存系统, 库存是通过excel导入批量更新的,数据量太大时会连接超时
      

  9.   

    之前用循环一条条更新, 现在换成用dataset更新 速度提高了不少,不知道还有没有其他更好的方法???
      

  10.   

    用c#触发一下sp,剩下的事交由db处理,应该是最快的
      

  11.   

    既然有现成的EXCEL表,那直接使用MSSQL的BCP导入功能不就行了。