使用Zend_Db_Table优化/改进数据插入

时间:2014-03-25 12:16:47

标签: php zend-framework optimization insertion

在我的ZF项目中,我从CSV文件导入数据,经过一些处理后,我使用Zend_Db_Table将数据插入MySQL数据库。这是代码的样子:

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()。我已经在1分钟内完成了6000行...

1 个答案:

答案 0 :(得分:0)

我认为要优化csv文件的集成,必须将工作转移到MySQL。存储或通过PHP命令行程序 它将为您的表格创建一个新文件 你会在Import CSV to mysql table找到想法。

我没做,但我认为这是可行的。

我希望它能帮到你:)。