使用MySQLi将多行上传到数据库,在单个实例中上传的最大行数是多少?
答案 0 :(得分:1)
对于大多数情况,我认为一个简单的答案是,只要您的查询长度不超过您的mysql max_allowed_packet
设置,具体的行数可能并不重要。
如果您考虑一下您的查询,请考虑您插入的每个字段的最大字段长度,通用公式将类似于
max_rows = floor((max_allowed_packet-base_query_length)/characters_per_row)
其中base_query_length
是查询开始部分所需的字符数(例如INSERT into xxx (field1,field2,field3) VALUES
)
characters_per_row
是每行的最大长度,基于每个字段的理论最大值。如果您的数据库计划良好,并且您的输入已经过验证以支持这些限制,那么您应该能够根据数据库中的长度限制来解决这个问题。请注意,您还需要考虑前导(
的空间,尾随)
,行数据集之间的,
,字符串值的引号等等。
请注意我没有做任何研究来支持这个答案 - 它在我看来似乎有意义。如果有人可以驳回我的假设或对任何错误提供更正,请在评论中进行修改或编辑我的答案。