MySQL INSERT 语句中的查询大小限制
在 MySQL 中执行 INSERT 语句时,考虑潜在的大小限制至关重要。本文探讨了决定单个 INSERT 语句中可以包含的最大行数和字节数的因素。
行计数限制
MySQL 不强制执行限制可以使用“INSERT ... SELECT”模式插入的行数。假设源数据存在于其他表中,这允许插入无限多的记录。
大小限制
但是,当使用“INSERT . .. VALUES”模式到硬编码值,“max_allowed_packet”配置变量施加了限制。该变量设置从客户端发送到数据库服务器的 SQL 语句的最大允许大小。大小限制适用于所有类型的查询,包括 INSERT 语句。
要确定“max_allowed_packet”的适当值,请考虑以下因素:
对于大多数应用程序,默认值 4MB 就足够了。但是,如果由于数据包大小限制而遇到错误,则可以根据需要增加该值。
因此,虽然使用“INSERT ... SELECT”模式可以插入的行数实际上是无限的,使用“INSERT ... VALUES”模式的 INSERT 语句的最大大小受到“max_allowed_packet”配置变量的限制。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3