gpt4 book ai didi

php - 将大数据文件导入 MysQL 的最佳方式

转载 作者:搜寻专家 更新时间:2023-10-31 22:04:51 28 4
gpt4 key购买 nike

我有一个应用程序接收一个大小为 16GB(大约有 90,00,000 行)的数据文件,该文件将被导入到 MySQL 数据库中。每次我运行 php 脚本时,我都会收到错误消息“在查询期间丢失与 MySQL 服务器的连接”,即使数据库与运行脚本的服务器位于同一台服务器上。

在互联网上搜索后,我发现当您耗尽数据库 session 的一种资源(例如内存)并且 mysql 关闭连接时,就会发生这种情况。运行不应该尝试插入大量数据。您可以通过为“max_allowed_pa​​cket”设置更高的值来解决此问题。我在我的脚本中这样做了:

$db->query( 'SET @@global.max_allowed_pa​​cket = ' . 1 * 1024 * 1024 * 1024);

但这也行不通。除了错误发生在插入明显更多的行之后。'

现在我将文件拆分为更小的文件,每个文件有 10,00,000 行,然后对每个文件进行处理。但即使 split 也需要相当长的时间。

我不是 PHP 程序员,之前也没有使用过 MySQL。这是我必须重构的别人的代码。所以我对这里的了解几乎为零。

我正在使用 LOAD DATA LOCAL INFILE 语句来转储数据。有什么方法可以通过每隔几行就提交一次来缩短事务处理时间吗?

最佳答案

你真的需要利用BigDump

Staggered import of large and very large MySQL Dumps (like phpMyAdmin 2.x dumps) even through the web servers with hard runtime limit and those in safe mode.

要配置它...请参阅 herehere

关于php - 将大数据文件导入 MysQL 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738031/

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