1

可能重复:
哪个更快:多个单个 INSERT 或一个多行 INSERT?

在浏览一本关于 mysql 的书时,我发现了两种在数据库中插入行的方法。

Method 1 

INSERT INTO tableName (col1, col2, col3) VALUES('a', 'b', 'c');
INSERT INTO tableName (col1, col2, col3) VALUES('d', 'b', 'c');
INSERT INTO tableName (col1, col2, col3) VALUES('e', 'b', 'c');

Method 2

INSERT INTO tableName (col1, col2, col3) VALUES('a', 'b', 'c'), ('d', 'b', 'c'), ('e', 'b', 'c');

第二种方法比第一种更有效吗?或者它只是简单地调用Method 1多次?

4

1 回答 1

2

二是效率更高。

第一种方法在您每次要插入行时创建一个连接,而第二种方法使用单个连接来插入所有行。但是,有一个max_allowed_packet限制客户INSERT陈述的长度。

于 2012-10-26T14:05:36.877 回答