【问题标题】:Importing millions no of records from text file to mysql table将数百万条记录从文本文件导入 mysql 表
【发布时间】:2013-05-02 06:03:35
【问题描述】:

我需要在 MYSQL 中从文本文件中插入记录,这不是问题。

问题是文本文件包含数百万条记录。这意味着处理一个文本文件将导致数百万个 INSERT 查询。我也不能(不想)使用 PHP Infile,因为我必须对文本文件执行一些数据提取。将该文件存储到 Blob 字段中,这不是我想要的。

【问题讨论】:

  • 你是什么意思'我必须执行一些数据提取?'。使用 LOAD DATA LOCAL INFILE,您可以在插入数据之前对列(值)进行各种修改。您可以将字段值拆分为几个部分等。

标签: php mysql large-data


【解决方案1】:

使用批量 INSERT 代替单个 INSERT,例如

INSERT INTO a VALUES (1,23),(2,34),(4,33);

可能值得看看这个question

请记住,您可能会达到数据包大小限制,请查看此question 以获取指针。

【讨论】:

  • 我增加 mysql 数据包大小需要多长时间,有 100 万条记录的想法。可能是块中的批量插入对我有帮助。但我需要知道我应该在 1 个查询中插入哪些记录。
  • 这取决于查询中的内容,所以根据一条记录粗略估计,然后从那里开始。
  • 感谢您的回复,我想在文本文件的 1 行中插入 3 个字段(Ip & Name &),,,,可能是我 sud 块插入查询这样,,批量插入 10000查询中的记录和 10000 条这样的查询 ....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-28
  • 1970-01-01
  • 2023-01-31
  • 2012-05-16
  • 2015-09-04
相关资源
最近更新 更多