Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-MYSQL:数据库会导入超过40000行吗?_Php_Mysql_Insert - Fatal编程技术网

PHP-MYSQL:数据库会导入超过40000行吗?

PHP-MYSQL:数据库会导入超过40000行吗?,php,mysql,insert,Php,Mysql,Insert,我正在为一家自动零件商店开发一个web应用程序 我正在做一个算法来导入CSV文件,该文件包含大约40000个产品(行)。这是我第一次处理这么大的文件。所以在我继续之前我有一些问题 1) MySQL会花时间导入每一行,还是会自动崩溃并抛出一个时间限制错误 2) 我使用PDO处理所有与数据库相关的东西。如果数据库正在导入所有这数千行,而web应用程序用户突然关闭浏览器、关闭计算机或其他什么,该怎么办 上载的文件是否会在服务器中完成导入?或者交易会中断吗 那样的话,我想要一个回滚 谢谢你启发我 是,您

我正在为一家自动零件商店开发一个web应用程序

我正在做一个算法来导入CSV文件,该文件包含大约40000个产品(行)。这是我第一次处理这么大的文件。所以在我继续之前我有一些问题

1) MySQL会花时间导入每一行,还是会自动崩溃并抛出一个时间限制错误

2) 我使用PDO处理所有与数据库相关的东西。如果数据库正在导入所有这数千行,而web应用程序用户突然关闭浏览器、关闭计算机或其他什么,该怎么办

上载的文件是否会在服务器中完成导入?或者交易会中断吗

那样的话,我想要一个回滚


谢谢你启发我

是,您可以插入超过40000条的大量记录

检查一下这些证据

max_allowed_packet 
bulk_insert_buffer_size
key_buffer_size
你可以参考这个

40000条记录其实并不多。您应该一次读取一行csv文件,以避免fgets()或类似的内存问题。退出浏览器不应改变sql事务的任何内容。无回滚,备份数据库并在失败时进行还原。您可以先试用并将CSV文件读入暂存表。实际上,CSV文件已转换为关联数组。所以,当我准备创建插入查询时,我正在使用关联数组。它不再是CSV文件了。但是数组包含那40000行。@JuanBonnett如果它仍然是CSV,你会有一个更轻松的时间。我将研究加载数据填充的事情,看看我能用它做什么。如果要将文件转换成数组,我最好在那里导入数据。谢谢,请尝试并链接到与MySQL最新版本相关的文档。5.1已经过时了。