以下兩種方法中的哪一種將更快地將大量行插入到表中。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'。祝你好運。 –