我在 csv 文件中有大量记录(大约 40,000 条)要更新到数据库表中。
我知道如何编写代码 (PHP) 来更新记录,但我担心大量数据。
我应该如何处理一次更新大量记录?
你可以使用这个。可能对你有帮助
LOAD DATA INFILE 'data.csv' INTO TABLE my_table;
LOAD DATA INFILE 'data.txt' INTO TABLE table2
FIELDS TERMINATED BY '\t';
循环遍历 csv 文件中的所有行。将每一行解析为不同的变量以更新数据库。使用正常的 SQL 调用。
唯一不同的是,您可能需要set_time_limit(0);
在文件的最顶部添加。这将防止 PHP 超时。
遵循某种分布式处理流程。有一个分发线程和一些工作线程。分发线程可以从 csv 文件中读取数据,将工作分配给工作池中的空闲工作线程。您可以限制线程池大小,平衡性能和资源使用。而且您已经说过,您知道如何进行更新,因此可以理解工作线程代码。:) 希望这会有所帮助