- 1,000万レコードで400-500秒は割りと妥当。
- TIPS
- レプリをしてなければ、SET sql_log_bin=OFFでバイナリログ無効化
- 安全を犠牲にして innodb_flush_log_at_trx_commit=0 or 2 でコミット時にログフラッシュ無効(元データがあるので失敗してもやり直せるならこれを)
- --skip_innodb_doublewrite を追加してダブルライトバッファを無効化
- MySQLのバージョンごとの最適なLOADのタイミングについては http://dbstudy.info/files/20131007/mysql56_load_r2.pdf の6枚目を参考に
- autocommit = 0 unique_checks = 0 foreign_key_checks = 0 あたりも効果がありそう
- インポート先がInnoDBだとすると、InnoDBへのインサートはClustered Indexの再構築であるという点を抑える必要がある。すなわちインポートするCSVをPrimary Keyでソートしておくと高速になる。
More than 5 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
List of users who liked
1215