可能重复:
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
?
答案 0 :(得分:2)
第二个更有效率。
第一种方法每次要插入行时都会创建一个连接,第二种方法使用单个连接来插入所有行。但是,max_allowed_packet
限制了客户端INSERT
语句的长度。