本帖最后由 csharpcn 于 2011-09-14 07:37:12 编辑

解决方案 »

  1.   

    较快的方法就是丢弃使用字符串的思路:)
    举个例子,放数据库的话,更新100万记录(数值栏乘2)也就几秒钟的事情。
    如果用int数组存放,乘2更是只要几毫秒的事情。
      

  2.   

    我测试了一下大部分的时间都消耗在FOR循环中,而不是数据的插入中,请问如何做在几分钟之内能完成,有没有什么好的变通的办法
    ================
    数据插入不是在for循环中么?
      

  3.   

    如果注释数据插入的代码,再注释单个一行的数据处理的代码,让FOR循环,但是不处理,一样需要这么长的时间,我感觉还是FOR的局限性问题。
      

  4.   

    那么你的for循环里还有什么代码?一个空循环不可能要那么多时间的,我试了下,百万级的都是毫秒级的,即使 循环体我用 b = b + a.Next(10) 进行随机数累加,亿级也就是5秒左右
      

  5.   

    我有一个代码
    是This.Text
    导致速度慢去掉以后,空FOR速度,飞快看来是我处理每一行的时间比较长,然后每一行都插入到数据库一次看来需要在存储过程中做这个处理我自己在研究一下,马上结贴
      

  6.   

    你是不是在for循环中进行数据库插入了,那样肯定慢!
    你可以在for循环中,把插入SQL语句字符串组合好,然后一次连接数据库批量插入!
      

  7.   

    搞错了,原来是我在for里头加了console.write的原因
      

  8.   

    包括字符串的处理,100万条,不到1分钟,慢就慢在数据库的插入这一行代码能不能统一的插入到数据表中,不用每行都插入一次insert into table (neirong) values (jieguo)再不用存储过程的方法上,因为代码已经编完了,再改成存储过程还需要时间。谢谢
      

  9.   

    如果是数据库的问题,可以尝试一下SqlBulkCopy
      

  10.   

    你在for循环的时候用StringBuilder拼接一个大的sql语句,然后for循环之后执行