大数量的数据入库:
方法一 是for循环 执行insert sql语句,其中insert内容是动态变化的
方法二 还是for循环 将要入库的内容作为参数付给parameter 然后传给存储过程,执行存储过程这两种方法效率上会不会差别很大,我测了下使用存储过程的效率反而不如直接循环执行sql
是不是因为方法二需要创建参数,而导致效率下降的。求说明,求更有效率的解决方法

解决方案 »

  1.   

    这两个效率都不高应该成批(一批800-2000条)是拼成XML,存储过程解开一次插入。
      

  2.   

    的确 用这种方法是最快的但是需要的参数不是一次性都获取到的 而是断断续续。。所以可能要加一个超时计时 这样不会让第一条操作等太久。。还有就是SQL server允许最长的SQL语句是多长。。貌似我拼了一百万条insert执行也没什么问题。。有没有什么最优的长度。 :D
      

  3.   

    两个都不好。做好的方法是 先把 数据都写到 datatable 或者dataset 上面。再把整个dataset 传过去。这样入库速度最快
      

  4.   

    貌似忘了说 我是用VC获取要插入的数据内容 然后调用 ado 连接数据库
      

  5.   

    恩 的确 事先组织好全部语句 然后一齐执行会快很多 
    刚刚我是拼成一句SQL然后执行 效果不错 不过要是拼的太长总感觉很危险 
    马上用你的办法试试看 O(∩_∩)O