LOAD DATA LOCAL INFILE
大量のデータ (ギガバイト) を MySQL 5.5 データベースに挿入するステートメントをいくつか実行しています。ステートメントは次のようになります。
LOAD DATA LOCAL INFILE '/mnt/feeds/20120801/itunes20120801/application'
REPLACE INTO TABLE app_store_applications
FIELDS TERMINATED BY X'01'
LINES TERMINATED BY X'020A'
(export_date, id, title, recommended_age, artist_name, seller_name, company_url, support_url, view_url, artwork_url_large, artwork_url_small, @itunes_release_date, copyright, description, version, itunes_version, download_size)
SET itunes_release_date=STR_TO_DATE(@itunes_release_date, '%Y %m %d')
これは常に機能していますが、昨日から、以前は機能していた同じクエリがステップで毎回停止しているように見えますquery end
( で表示SHOW PROCESSLIST
)。
テーブルの内容を確認すると、それまでにすべてのデータが正しく挿入されているため、クエリが終了しない理由はありません。それでも、30 分後にすべてのデータを挿入したクエリはquery end
、約 10 時間後もスタックします。この理由は何でしょうか?
更新:最近、この DB がマスターとして機能するレプリケーションをセットアップしました。バイナリ ログへのデータの書き込みに何らかの問題があり、これがクエリの終了を妨げている可能性がありますか?