2014-03-25 18 views
1

在我的ZF項目中,我從CSV文件導入數據,並在處理完一些數據後,使用Zend_Db_Table將數據插入到我的MySQL數據庫中。這是代碼的樣子:使用Zend_Db_Table優化/改進數據插入

private function addPerson($data) 
{ 
    $personDao = new Person(); 
    $personRow = $personDao ->createRow(); 

    if($newperson == -1) 
    { 
     //already in DB 
    } 
    else 
    { 
     $personRow->setName($data['name']); 
     ... 
     $personRow->save(); 
    } 
} 

它工作得很好。我唯一擔心的是用這種方法插入數千行所需的時間。 所以我的問題是:無論如何,我可以改善我的代碼大文件? 對於很多行(> 6000),我還可以使用save()函數嗎? 任何建議將受到歡迎。

我想知道是否有一個ZEND函數可以像500行一樣緩衝並將它們插入一次而不是在每行上使用save()。我已經在6000分鐘的1min ...

+0

你$ newperson未初始化的任何地方 – aderuwe

+0

呀這是一個功能我認爲這種取表格看如果ID是在那裏的返回值。對不起,沒有把整個代碼,但據說,它工作得很好。 – user3415419

回答

0

我認爲要優化csv文件的集成,您必須將工作轉移到MySQL。可以存儲或通過PHP命令行程序。
它將爲您的表創建一個新文件。
你會在Import CSV to mysql table找到想法。

我沒有這樣做,但我認爲這是可行的。

我希望它會幫助你:)