【问题标题】:Optimizing/improving data insert with Zend_Db_Table使用 Zend_Db_Table 优化/改进数据插入
【发布时间】: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


【解决方案1】:

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

我没有这样做,但我认为这是相当可行的。

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    相关资源
    最近更新 更多