MySQLインポートエクスポートの高速化方法

803 ワード

MySQLがエクスポートしたSQL文は、インポート時に非常に遅くなる可能性があります.百万レベルのデータを処理する場合、インポートに数時間かかる可能性があります.エクスポート時にいくつかのパラメータを適切に使用すると、インポートの速度が大幅に速くなります.
 
-eマルチラインINSERT構文を使用して、よりコンパクトでより高速な挿入文を与えます.
--max_allowed_Packet=XXXクライアント/サーバ間で通信するキャッシュ領域の最大サイズ
--net_buffer_length=XXX TCP/IPとソケット通信バッファサイズ
 
max_allowed_packetとnet_buffer_lengthは、ターゲット・データベースの設定値よりも大きく設定できません.そうしないと、エラーが発生する可能性があります.
 
まず、ターゲット・データベースのパラメータ値を決定します.
 
mysql> show variables like 'max_allowed_packet';
mysql> show variables like 'net_buffer_length';

 
パラメータ値に基づいてmysqldumpコマンドを書きます.
 
mysqldump -uroot -proot eric -e --max_allowed_packet=1048576 --net_buffer_length=16384 > eric.sql