gpt4 book ai didi

php - 导入 140 万行 800mb 制表符分隔文件的最佳方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:58 25 4
gpt4 key购买 nike

我有一个 800mb 的制表符分隔文件,其中包含 140 万条记录,我需要将其输入 MySQL 数据库。在我运行任何使我的本地机器瘫痪的东西之前,我想知道最好的方法是什么。当我获得包含更新数据的新文件时,我将需要每 4-6 周执行一次此操作。

我一直认为以下其中一项可能是最好的,但不确定:

选项 1

$input = file('data-file.tab', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

$filedata= array();

foreach ($input AS $line) {

$data = explode("\t", $line);

// function to import data to MySQL

}

选项 2

将文件拆分成可管理的 block 并通过 phpMyAdmin 导入。

最佳答案

我不会通过 phpmyadmin 执行此操作。我知道这可能是您更熟悉的界面,但如果您管理的是工业规模的数据集,则应该习惯使用其他更高效、更可靠的工具。

转到命令行并使用 mysqlimport .这是 LOAD DATA statement 的命令行界面.您可以在客户端主机上执行此操作并远程导入,也可以将文件上传到数据库服务器并在本地导入。

要拆分文件,我会使用 pt-fifo-split .这使得在文件 block 上编写 shell 循环变得容易,而无需将文件物理拆分为多个较小的文件。

关于php - 导入 140 万行 800mb 制表符分隔文件的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26110990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com