我原来尝试过每5万条提交一次,但是没有显著效果。只是多读了1万条。
怎么放掉内存呢。
呵呵,没办法,只能用php

解决方案 »

  1.   

    大文件全读进内存是不可能的,必须一部分一部的处理,用 fseek()指针跳转
      

  2.   

    我跟踪了一下,
    $stmt =& $dbObj->db->prepare($sql[0]);     
    $rs   =& $dbObj->db->execute($stmt,$sql[1]);
    这两句内存一下子上去了。内存一直增加
    unset($lineArray);
                unset($sql[0]);
                unset($sql[1]);
                unset($sql);            
                unset($stmt);
                unset($rs);            
                pg_free_result ($rs);这些去用上了也不行
      

  3.   

    我要读一个140mb的文件,
    现在的做法是读到2000行,放到数组中,在数组中循环
    $stmt   =&   $dbObj-> db-> prepare($sql[0]);          
    $rs       =&   $dbObj-> db-> execute($stmt,$sql[1]);所有的行一共20万行处理完后,最后commit,现在我在循环中测试,
    上面那两句就把内存用光了。有什莫好办法吗
      

  4.   

    读数据流。。 fopen  fread 读取上G的不成问题