在symfony 1.4中导入带有LOAD DATA LOCAL INFILE的csv文件

时间:2014-09-20 19:09:46

标签: mysql csv import symfony-1.4

我需要用CSV文件填充几个表格。我尝试使用一个插入每行的循环,但是一个包含65,000条记录的文件需要花费20分钟以上。

我想使用MySQL命令LOAD DATA LOCAL INFILE,但收到了这条消息:

  

第112行的C:\ xampp \ htdocs \ myProject \ apps \ backend \ modules \ member \ actions \ actions.class.php中禁止加载数据本地INFILE

经过一番研究后,我了解到需要将PDO的一个安全参数(PDO::MYSQL_ATTR_LOCAL_INFILE)更改为true。

在symfony2中,您需要在应用的config.yml上更改它,但我无法在symfony 1.4上找到它。

1 个答案:

答案 0 :(得分:1)

让我试着理解这个问题(或问题?!)。

如果您需要优化INSERT查询,则应该在单个INSERT查询或几个查询中批处理它们,但绝对不是每行。此外,MySQL中的INSERT查询总是很慢,特别是对于插入的大量数据,还取决于数据库的索引,引擎和模式结构。

关于第二个问题,看看here,也许会有所帮助。