インフラエンジニアを募集中です。詳細はこちら【MySQL】大量のデータを登録する際に処理時間を大幅に削減する方法DB&サーバyamashita2019.04.09みなさんこんにちは。最近散歩にはまっているyamashitaです。あまりにも不健康な生活をしているので始めてみましたが楽しいです。休みの日に会社の近くに行くのは少し抵抗ありますが、馬車道から元町辺りまで歩いて帰ってくるのオススメです。それも桜の季節と共に終わりを迎えそうですが。次は5月頃に港の見える丘公園のバラが見頃になるらしいのでフラッと言ってみたいですね。今回は大量のデータをデータベースに登録する際にかかる時間を大幅に削減する方法について紹介します。状況としてはお客さんから預かったCSVファイルを読み込み、それを登録するという物でした。大量のデータを登録する際に一つずつINSERTするのではなく、一つのファイルを読み込んでその中身を一気に登録します。この時お客さんからもらえるCSVファイルとデータベースの構成が全く一緒なら楽だったのですが、そんな都合のいい事は無く処理の中で入れ替えて書き替えました。その方法については後日別の記事で書きたいと思います。address);指定することは以下の通りです。(挿入したい列名1,列名2,列名3・・・・);他の設定については以下のリファレンスマニュアルを参照してください。今回の処理の変更でおおよそにかかった時間の比較を載せたいと思いますが、ビフォーアフターのビフォーが特殊なので参考にならないかもしれないです。変更前はWordPressにPHPで登録、且つカスタムフィールドゴリゴリに使ってる以上の条件で変更前:約90分、変更後:約1分程度まで早くなりました。リファレンスによるとINSERTより20倍速くなるそうです。INFILEがいいというお話でした。WordPress以外でも処理時間の短縮につなげられるのではないかと思います。ファイルのフォーマットがおかしかったりすると想定外のデータが作成されてしまうので気を付けてくださいまた、CMSやフレームワークを使ってる時には本来の形式とは合致しないデータが登録されてしまったり、フレームワークのバリデーションを通過せずに処理が行われてしまうことがありそうだと感じたので使用する際の環境に応じて適宜条件設定をしてください。F...WordPresskagata2018.05.09はてブバシャログ。Web制作スタッフによるブログです。「現場で使えるテクニック」をモットーに、Web制作全般についてお届けします。