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