質問: サービス稼働中の下記テーブルに5万件ほどのデータを本番環境にて直接INSERT文でデータを挿入するにあたって、 何か最適な方法はありますでしょうか? 現状は下記SQL文を5万件準備し実行予定です。 INSERT INTO user_info_tbl ~ VALUES ~ CREATE TABLE `user_info_tbl` ( `user_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ユーザーID', `user_type` INT(2) NOT NULL COMMENT 'ユーザータイプ', `user_name` VARCHAR(32) NOT NULL COMMENT 'ユーザー名', `create_date` DATETIME NOT NULL COMMENT '作成日', `update_date` DATETIME NOT NULL COMMENT '更新日', PRIMARY KEY (`user_id`), )
回答: MySQLの場合、`INSERT INTO`を5万個並べるより、`INSERT INTO user_info_tbl (列リスト) VALUES (値1), (値2), ...`のように一括で`INSERT`したほうが、ずっと高速に処理できます(Qiita)。