日々精進

新しく学んだことを書き留めていきます

Mysqlに大きなデータを保存するとパフォーマンスが悪化する

以下のようなテーブルを作ったところ、テーブルの総行数が1000行程度でもクエリの実行に数秒かかるようになってしまいました。

テーブル名:image
カラム名:
url
name
file #数百KB程度のデータが入る
thumbnail

↓の記事などを見て大きなデータを保存しているカラムがあることが原因では?と思ったので別テーブルにカラムを切り出しました。
画像はBLOBで格納するよりファイルパスのほうがパフォーマンスいいらしい - 絶品ゆどうふのタレ

テーブル名:image
カラム名:
url
name
image_data_id #データを格納しているテーブルへの参照

テーブル名:image_data
カラム名:
file #数百KB程度のデータが入る
thumbnail

こうするとimageテーブルへのクエリが超速くなりました。