やること 100万件データを取得して、指定のテーブルに追加します。存在しているレコードを項目を更新する、存在しないレコードを新規追加します。 前提 更新したいテーブルのサイズは11.6GB、レコード数は5000万件です。 SELECT ... FOR INSERT INTO ON DUPLICATE KEY UPDATE とlimit offsetで1000件ずつ必要な情報を取得してテーブルにINSERT INTO ON DUPLICATE KEY UPDATEを検証しましたけど、結局遅いです。LOAD DATA INFILEで早そうで検証しました。 まずレコードを全部取得してCSVファイルに書き込む SELECT name, id INTO OUTFILE '/var/lib/mysql-files/result.csv' FIELDS TERMINATED BY ',' OPTIONA