需導入 2000 萬條記錄,單條 INSERT 仅百條/秒,Hadoop 集群跑也同樣慢。
INSERT INTO tbl (c1, c2) VALUES
(v1, v2), (v1, v2), (v1, v2), ...; -- 每條 500-1000 行,提交一次
效果:速度提升數倍,但仍受限於 SQL 解析、事務提交開銷,約 1-2 萬條/秒。
# 1. 生成標準文本文件(字段 TAB 分隔,行換行符分隔,NULL 用 \N)
# 2. 客戶端執行
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE tbl
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
| 方案 | 預處理 | 導入耗時 | 速度 |
|---|---|---|---|
| 單條 INSERT | 無 | 極慢 | ~百條/秒 |
| 批量 INSERT | 應用層拼 SQL | 較長 | ~1-2 萬/秒 |
| LOAD DATA | 3 分鐘生成 800MB 文本 | 7 分鐘 | ~4-5 萬/秒 |