在mysql中有效的多行插入

时间:2012-10-26 14:04:19

标签: mysql performance insert

  

可能重复:
  Which is faster: multiple single INSERTs or one multiple-row 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

1 个答案:

答案 0 :(得分:2)

第二个更有效率。

第一种方法每次要插入行时都会创建一个连接,第二种方法使用单个连接来插入所有行。但是,max_allowed_packet限制了客户端INSERT语句的长度。