INSERT INTO purchase_order_lines (po_id, material_id, qty)
VALUES (1001, 10, 5), (1001, 20, 3), (1001, 30, 8), ...; -- 一條語句百行
比循環單條INSERT**快數倍**,行數越多優勢越大。ORM層面bulk_create、executemany同理。
LOAD DATA INFILE 'data.txt' INTO TABLE t FIELDS TERMINATED BY '\t';\N表NULL)INSERT DELAYED INTO safety_stock_log (material_id, diff_qty) VALUES ...;
DELAYED合併成**單塊寫入**,減少索引刷盤次數INSERT DELAYED 8.0棄用,改用隊列異步寫入LOCK TABLES product WRITE;
-- 批量INSERT/LOAD DATA
UNLOCK TABLES;
採購訂單行按material_id排序後插入 → 後續SELECT * FROM po_lines WHERE po_id=?**無需再排**,直接輸出順序符合業務預期。省去應用層ORDER BY或數據庫filesort。
五大細節**零硬件成本**,純SQL/應用層優化,插入吞吐常提升**10-100倍**。硬件擴容前,先榨乾軟件潛力。