【问题标题】:large number of records (around 40,000) to insert into mysql by php,mysql script大量记录(约 40,000 条)通过 php、mysql 脚本插入 mysql
【发布时间】:2012-09-24 00:16:26
【问题描述】:

我在 csv 文件中有大量记录(大约 40,000 条)要更新到数据库表中。

我知道如何编写代码 (PHP) 来更新记录,但我担心数据量太大。

我应该如何处理一次更新大量记录?

【问题讨论】:

  • 我刚刚在一个表中插入了大约 300,000 行。不需要太多时间。尝试使用 HeidiSQL 的表/数据库管理器。

标签: php mysql sql


【解决方案1】:

你可以使用它。可能对你有帮助

LOAD DATA INFILE 'data.csv' INTO TABLE my_table;


LOAD DATA INFILE 'data.txt' INTO TABLE table2
FIELDS TERMINATED BY '\t';

【讨论】:

    【解决方案2】:

    遍历 csv 文件中的所有行。将每一行解析为不同的变量以更新数据库。使用正常的 SQL 调用。

    唯一不同的是,您可能需要在文件的最顶部添加set_time_limit(0);。这将防止 PHP 超时。

    【讨论】:

      【解决方案3】:

      遵循某种分布式处理流程。有一个分发线程和一些工作线程。分发线程可以从 csv 文件中读取数据,将工作分配给工作池中的空闲工作线程。您可以限制线程池大小,平衡性能和资源使用。而且您已经说过,您知道如何进行更新,因此可以理解工作线程代码。 :) 希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-31
        • 1970-01-01
        • 2023-03-15
        • 2012-05-16
        相关资源
        最近更新 更多