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" REPLACE INTO TABLE t_mytable FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'
Java小工具生成的文件格式如下:
a|b|c|d
e|f|g|h
...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM