我需要使用 PHP 脚本在 mySQL 表中执行多次插入,例如 Table1
但数量可能超过 1000
所以我想知道是否有插入mySQL 中内存或行数的限制?另外,这个限制是否因服务器而异?
最佳答案
这里的主要限制因素是 MySQL 接受语句的长度。这是用 max_allowed_packet
定义的系统变量。
在 my.cnf
文件中将其设置为 1GB 通常就可以了。超出这个范围的任何东西都会变得荒谬,但如果你有足够的内存来容纳它,你可以自由地增加它。请记住,客户端和服务器通常都需要内存中的内存,因此如果在同一台计算机上,理论上需要 2GB。别在这里太疯狂。
带有多个 VALUES
条目的 INSERT
语句可以加载适合该数据包大小的尽可能多的数据。
如果您正在进行大量进口,LOAD DATA INFILE
通常要快得多,但您必须以它可以容纳的格式准备数据。 CSV 文件通常在这里最容易使用。
关于php - 批量插入限制 mySQL PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36922118/