繁体   English   中英

PHP最大插入量在一个SQL查询中

[英]PHP Max amount of inserts in one SQL query

我有一个非常简单的问题。 我在MySQL表中一次插入了很多记录。 它适用于大约2000条记录(实际上更多)。 但是说我要插入3000条记录,而不是做任何事情。

我正在通过AS3将包含所有记录的数组通过AMFPHP发送到一个简单的PHP脚本来解析和插入数组。

这是正常的,还是应该调查一下?

目前我正在将我的数组切换为2000条记录的部分内容,并发送几个AMFPHP请求而不是1个。

PHP的查询受“max_allowed_pa​​cket”配置选项的限制。 它定义了查询字符串的绝对长度限制(以字符为单位)。 请注意,这不仅仅是要插入的数据的总大小,而是整个查询字符串。 SQL命令,标点符号,空格等......

检查3000记录版本与2000版本的长度,然后获取服务器的数据包长度限制:

SHOW VARIABLES WHERE Variable_name LIKE  '%max_allowed_packet%'

如果您的3000记录版本超过此限制,查询将无效地失败,因为它将在某个地方被切断

我不认为一个查询中的插入数量确实存在限制。

相反,您可以发送给MySQL 的查询大小限制
见:


所以,基本上,这取决于每个insert的数据量。

我会确保max_allowed_packet大于PHP SQL查询。

http://dev.mysql.com/doc/refman/5.5/en/packet-too-large.html

我认为PHP不会将插入的查询量限制在一个,而是限制脚本可以占用内存量 ,以及执行的最大时间

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM