- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP・MySQLでの画像保存方法)
PHP・MySQLでの画像保存方法
このQ&Aのポイント
- MySQLで画像を保存する方法には、直接DBに登録する方法(BLOB型)とディレクトリに画像を格納する方法があります。
- 直接DBに画像を保存する方法は画像の管理が容易であり、データのバックアップも簡単に行えますが、データベースの容量が大きくなるなどのデメリットがあります。
- 一方、ディレクトリに画像を格納する方法はデータベースの容量を節約することができますが、画像の管理が複雑になり、バックアップにも手間がかかります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>画像を呼び出す際に、この二つの方法によって >できる事やできない事、またメリットやデメリットというのもは できる事とできない事は、基本的には差はありません。 あとはざっとこんなところでしょうか? 個人的には後者の方がお勧めですが、リソースに十分な余裕があるなら 前者でもいいかもしれません。 ○直接登録する方法 →メリット ファイルの削除や移動など気にせずにDBに保存されているものがすべてなので 整合性がとりやすい →デメリット データが集積するに伴いデータベースが肥大化する。 そもそもバイナリデータ自体SQLとしての検索の対象にならないので、 テーブルに収納すること自体が無駄。 (とくにG単位のムービーなどはオーバーヘッドが大きすぎる) ○ディレクトリに画像を格納 →メリット 出力がファイルI/Oに依存するためデータベースに問い合わせるより若干高速 管理者がファイル自体を直接見て内容を判断できる →デメリット idでのひも付けがきれたとき、ゴミがたまりやすい ファイル自体を直接編集してしまうと、DBの内容と差異が発生する データの取り扱いがやや煩雑
お礼
分かりやすいご説明で、大変理解が深まりました。 この度は、誠にありがとうございました。