每天超过50万条记录入库,有什么好的解决方案?DELPHI+ORACLE9I,一开始没认为这是个什么问题,直接用INSERT INTO,后来发现数据库经常出问题,经过发现问题在入库上.后来改成用存储过程,但是效果不怎么明显,请问各位有什么好的意见啊?

解决方案 »

  1.   

    insert /*+ append */ into table nologging select /* all_rows */ from table2;这样可以大量减少写日志,应该会快一点。
      

  2.   

    具体是什么错,我们这里用oracle ,一天的交易是500万笔,插入的记录可能有2000万条,没有问题,估计是DELPHI的问题
      

  3.   

    都用存储过程了,跟delphi没关系吧?
      

  4.   

    看不懂楼主的问题,数据库没报错而数据丢失肯定是程序有问题。TO sasacat(傻傻猫):
    insert /*+ append */ 确实能绕过redolog,性能有大幅度提高,但是,这个操作比普通的insert要求更高的锁定,普通insert只是锁定被处理的纪录行,但是append 模式必须锁定整个表。在多用户的情况下,append是绝对不能用的。
      

  5.   

    50万条属于小的数据量,ORACLE不会有问题,建议你查一下重做日志文件的大小是否合适,还有就是你ORACLE服务器机器的硬件配置情况,按楼主所说的1000个终端如果不用连接池的话ORACLE用于保存SESSION的开销就比较大,如果短期内不准备采用三层C/S连接池架构或B/S连接池架构只能升级服务器硬件了。当然我建议你能把硬件配置情况及ORACLE参数配置情况贴出来,这样大家会更好的诊断,如果有个statspack报告那更好了。