以下两种方法中的哪一种将更快地将大量行插入到表中。MySQL插入查询优化
查询方法1:逐个执行查询。
INSERT INTO tbl_user(id, name, number) VALUES(NULL, 'A', '9999999999');
INSERT INTO tbl_user(id, name, number) VALUES(NULL, 'B', '9999999999');
INSERT INTO tbl_user(id, name, number) VALUES(NULL, 'C', '9999999999');
查询方法2:一次执行查询。
INSERT INTO tbl_user(id, name, number) VALUES(NULL, 'A', '9999999999'),
(NULL, 'B', '9999999999'),
(NULL, 'C', '9999999999');
方法2,因为它只执行一次。 – Dave
方法2比第一个更快 –
我们在这里显示了有多少人不知道发生了什么。你**希望**一一执行。你永远不想做选项2。为什么?因为如果将第一个方法包装在事务块中并使用预准备语句 - 您将永远不会因为max_packet_size而遇到错误。选项编号2也是需要更多资源来解析。你总是想避免这种情况,如果发生任何不良情况,调试也很难。因此 - 选项#3是最快的。在开始处添加'BEGIN TRANSACTION'并在末尾添加'COMMIT'。祝你好运。 –