使用Mysql多插入语句(在一个INSERT语句中插入多个记录)。我可以一次插入的记录数或数据大小(字节)是否有最佳数字?
答案 0 :(得分:1)
限制是行的大小, 一行查询是有限的,
服务器的默认max_allowed_packet值为1MB。如果服务器需要处理大型查询(例如,如果您正在处理大型BLOB列),则可以增加此值。
你可以在mysql.cnf文件中定义它
参数是
[mysqld]
max_allowed_packet=16M
或设置为
shell> mysql --max_allowed_packet=32M
链接:
http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html
答案 1 :(得分:0)
越多越好。 做一个大型插入,而不是各种简单的插入,要快得多。你消除了很多大量插入的开销,而不是许多小插件。
答案 2 :(得分:0)
是的,有。 不是您的系统和设置所允许的最大值。
通过仔细的基准测试,可以显示出,如果您继续增加行数,则在某个点之后,多重插入会停止产生任何好处,然后慢慢开始表现更差。
最佳设置取决于您的系统,设置和数据集。运行基准测试将帮助您找到最佳尺寸。