1. 程式人生 > >MySQL資料庫快速造大量資料

MySQL資料庫快速造大量資料

這段時間做效能測試,發現數據都是分庫寫進資料庫了,並且要構造大量資料,大概4000萬的資料量,用普通的方法,寫個MySQL函式,之前測試過,大概200萬資料也要跑一個多小時,太慢了. 後面研究發現有個很快的方法, 先寫個Java小工具(這樣比較靈活了, 可以根據自己的需要構造不同的測試資料), 按照分庫規則生成8個檔案(專案分庫是分8個庫), 4000萬的資料寫進資料庫, 20分鐘不到就能完成, 速度達3萬/s. 使用MySQL的命令 LOAD DATA INFILE:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE
] INTO TABLE tbl_name [PARTITION (partition_name,...)] [CHARACTER SET charset_name] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ] [IGNORE number {LINES | ROWS}] [(col_name_or_user_var,...)
] [SET col_name = expr,...]
命令: LOAD DATA INFILE "/data/mysql/data.txt" INTO TABLE t_mytable FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'
Java小工具生成的檔案格式如下:
a|b|c|d
e|f|g|h
...