[InnoDBシリーズ]--ビッグデータ量のエクスポートインポート方法の比較


作/訳者:葉金栄(Email:)、出典:http://imysql.cn、転載は作/訳者と出典を明記してください.また、商業用途には使用できません.違反者は必ず追及します.
ハードウェア:Intel(R)Xeon(R)CPU [email protected] GHz*2,4 G RAM,564 G SAS
ソフトウェア:Red Hat Enterprise Linux AS release 4(Nahant Update 4)2.6.9 42.ELsmp (32-bit), MySQL 5.0.27-standard-log
合計レコード数:1016126、行当たりの平均サイズ46822
1.テストのエクスポート
1.1テキストにエクスポート
  : SELECT * INTO OUTFILE '/backup/yejr.txt' FROM yejr;
  : 3252.15  

1.2.sqlファイル
  : mysqldump -t -n --default-character-set=latin1 test yejr > /backup/yejr.sql
  : 2124 sec

結論:mysqludmpでデータを導出するのは比較的に速い方法である.
2.テストのインポート
2.1 txtファイルのインポート
  : mysql test < /backup/yejr.txt
  : 3317.62 sec

2.2 sqlファイルのインポート
  : mysql test < /backup/yejr.sql
  : 4706.618 sec

結論:
1.load dataを使うのが早い方法
2.ビッグデータ量の場合は、テーブルを作成した後、関連インデックスを作成することが望ましい.インデックスがない場合のインポートが早いとはいえ、データのインポートが完了してからインデックスを作成するのは、事前に作成する再インポートよりも時間がかかります.
また、myisamテーブルの場合は、インポート前にテーブルのインデックスを無効にしてから有効にすることが望ましい.あるいは最初にインデックスを作成しないで、リードしてから作成すると、インポートと同時にインデックスを更新するよりもずっと速くなります.
本文は「MySQL中国語ネット」ブログよりhttp://www.imysql.cn/
 
本文は“MySQLを愛します”のブログから出て、転載して作者と連絡してください!