【发布时间】:2014-05-03 06:45:42
【问题描述】:
在我的 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 行...
【问题讨论】:
-
你的 $newperson 没有在任何地方初始化
-
是的,它是我调用的函数的返回值,它获取表以查看 id 是否在其中。抱歉,没有放完整的代码,但如上所述,它工作得很好。
标签: php zend-framework optimization insertion