Batch Insert 將多條 INSERT INTO t VALUES (v1); INSERT INTO t VALUES (v2); 合併為 INSERT INTO t VALUES (v1), (v2), ...;。
| Values/批次 | 耗時(秒) | QPS | RPS (吞吐量) |
|---|---|---|---|
| 1 | 1777 | 56 | 56 |
| 10 | 53 | 188 | 1,886 |
| 50 | 49 | 40 | 2,040 |
| 100 | 50 | 19 | 2,000 |
| 200 | 51 | 10 | 1,960 |
| 500 | 57 | 3 | 1,754 |
| 1,000 | 60 | 2 | 1,666 |
| 5,000 | 69 | 0.3 | 1,449 |
| 10,000 | 133 | 0.07 | 751 |
前端寫入緩衝隊列,滿足**任一條件**即觸發批次寫入:
優點:高峰期走數量閾值達到高吞吐,低峰期走時間閾值保證實時性。
-- 單 VALUES
starting 0.000056, checking permissions 0.000010, Opening tables 0.000034,
System lock 0.000010, init 0.000011, update 0.000061, query end 0.000053...
-- 10 VALUES
starting 0.000061, checking permissions 0.000008, Opening tables 0.000027,
System lock 0.000008, init 0.000012, update 0.000073, query end 0.000053...
固定開銷幾乎不變,update 階段微增,單行平均成本大幅下降。