在我的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行...
答案 0 :(得分:0)
我认为要优化csv文件的集成,必须将工作转移到MySQL。存储或通过PHP命令行程序
它将为您的表格创建一个新文件
你会在Import CSV to mysql table找到想法。
我没做,但我认为这是可行的。
我希望它能帮到你:)。