2014-09-20 50 views
0

我需要用CSV文件填充几个表格。我试图用一个循环插入每行,但有65,000个记录的文件需要我多于20分钟。在symfony 1.4中导入带有LOAD DATA LOCAL INFILE的csv文件

我想使用MySQL命令LOAD DATA LOCAL INFILE,但我接收到这样的信息:

LOAD DATA LOCAL INFILE用C禁止:\ XAMPP \ htdocs中\ myProject的\应用\后端\模块\构件\动作\ actions.class.php on line 112

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

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

回答

1

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

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

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