一下插入4W条数据到数据库,怎么样的效率最高.
我是在页面里循环等到这四万条记录,然后想把这四万条记录插入到一个表里面去,可是效率好低,请大家帮帮忙,小弟万分感谢!最好是罗列出代码,用存储过程也行。
其实我这里所做的就是从会员表中提取四万条记录出来,然后根据不同的会员,构建不同的邮件内容,最后把这四万封邮件插入到一个表里面去。谢谢

解决方案 »

  1.   

    你那样干不死机就万幸了.你可以考虑分页查询,虽然本质上没变.可是机器的负担却小了很多,进而也就能提高效率了.另外在设置一下COMMAND对象向数据库提交记录的条数(我不知道该怎样描述).默认是1条一发送.如果仅仅是从一个数据表到另一个数据表那就直接用存储过程吧.不知道你的"邮件"是不是仅仅称呼不一样.这东西做起来其实很容易,但是真要是表达清楚,就比较费劲了.还有就是你不会连存储过程都不会用吧
      

  2.   

    尽量插入一个就提交一个,或者100个提交一次,只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少: COMMIT所释放的资源: a. 回滚段上用于恢复数据的信息. b. 被程序语句获得的锁 c. redo log buffer 中的空间 d. ORACLE为管理上述3种资源中的内部花费 
    (译者按: 在使用COMMIT时必须要注意到事务的完整性,现实中效率和事务完整性往往是鱼和熊掌不可得兼)
      

  3.   

    如果经常要插4万条,用网页代码实现有点太不可取了
    建议使用异步方式,具体可以看看petshop4的设计模式
    http://ityup.com/showtopic-5.html利用多线程与异步处理方式
    如果不经常要插入,只是偶尔插入,为什么不直接写sql语句,做成作业运行呢?