我正在努力将CSV导入到一个大约1180万行的Mysql表中。就目前而言,我正在使用mysql的LOAD DATA LOCAL INFILE
方法来加载数据。这部分很好,需要大约10分钟才能加载所有11.8密耳。
每当我需要使用另一个表中的数据更新所有记录时,问题就出现了。我有一个工作(并且当前正在运行但接近24小时标记)进程,该进程在表上运行所有更新。我开始质疑是否有更快的方法来做到这一点。
我的一个想法是在此过程中我将CSV拆分为100k行文件并进行处理。我可以进行更新,因为只更新了连接填充的字段为空的100k行。另一个想法是尝试在CSV上运行一些预处理以将数据添加到它,然后使用快速方法上传它。
总的来说,只考虑更新的最佳方法是在我写的那个运行时。任何帮助/想法都会很棒!
旁注:这个过程每年只进行一次,因此不必进行惊人的优化,但是我希望有一些希望,一旦数据进入分期,它就会赢得胜利。需要很长时间才能将其投入生产