3

使用 Mysql 多插入语句(在一个 INSERT 语句中插入多条记录)。对于我可以一次性插入的记录数或数据大小(字节),是否有最佳数量?

4

3 回答 3

1

限制是行的大小,一行查询是有限的,

服务器的默认 max_allowed_pa​​cket 值为 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

于 2009-12-28T14:44:20.337 回答
0

多多益善。做一个大规模的插入比各种简单的插入要快得多。您消除了大量插入的开销,而不是许多小的插入。

于 2009-12-28T18:06:19.697 回答
0

就在这里。这不是您的系统和设置允许的最大值。

通过仔细的基准测试可以看出,如果你不断增加行数,在某个点之后,多插入停止产生任何好处,然后慢慢开始表现更差。

最佳值取决于您的系统、您的设置和数据集。运行基准测试将帮助您找到最佳尺寸。

于 2018-08-22T19:04:29.430 回答