我们必须执行进口程序。 一个 CSV 文件的数据量约为 100 MB(文件已驻留在服务器上,因此无需上传)。
关于在将数据导入数据库时是否实现批量“LOAD DATA LOCAL INFILE”或逐行“INSERT/REPLACE”的任何建议。
我已经检查过“LOAD DATA LOCAL INFILE”的工作速度比逐行导入快得多,但是逐行导入可以更好地控制重新导入/更新等。
从某种意义上说,我们是否可以从这两种实现中受益,即第一个实现的速度和第二个实现的控制?
热烈欢迎任何建议或完全不同的方式来实现导入过程、代码片段、数据库技巧。
谢谢!
最佳答案
没有。您要么完全控制该过程并让 PHP 执行插入,要么全速控制并让 MySQL 客户端库处理它。
您可以做的是将其加载到中间表中,然后执行从该表中进行选择并将其插入实际表中的查询。这将允许您对数据进行批量操作。
关于php - 如何实现MySQL : :"LOAD DATA LOCAL INFILE" in PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016560/