アプリ版:「スタンプのみでお礼する」機能のリリースについて

初めまして。PHP・MySQLの初心者で大変恐縮ではございますが、
ご質問させていただきます。

MySQLに画像を保存する際に、方法としてDBに
直接登録する方法(BLOB型)とディレクトリに画像を
格納する方法とがあると思うのですが、
画像を呼び出す際に、この二つの方法によって
できる事やできない事、またメリットやデメリットというのもは
どういったものなのでしょうか?

当方の目的としましては、フリーワード等での検索や商品の比較、
買い物かごの制作等を今のところ視野に入れていますが、
この3つの目的以外にも、今後制作して行く上での
参考にできればと考えております。

お力を貸していただければ大変嬉しく思いますので、よろしくお願いいたします。

A 回答 (1件)

>画像を呼び出す際に、この二つの方法によって


>できる事やできない事、またメリットやデメリットというのもは

できる事とできない事は、基本的には差はありません。
あとはざっとこんなところでしょうか?
個人的には後者の方がお勧めですが、リソースに十分な余裕があるなら
前者でもいいかもしれません。

○直接登録する方法

→メリット
ファイルの削除や移動など気にせずにDBに保存されているものがすべてなので
整合性がとりやすい

→デメリット
データが集積するに伴いデータベースが肥大化する。
そもそもバイナリデータ自体SQLとしての検索の対象にならないので、
テーブルに収納すること自体が無駄。
(とくにG単位のムービーなどはオーバーヘッドが大きすぎる)

○ディレクトリに画像を格納

→メリット
出力がファイルI/Oに依存するためデータベースに問い合わせるより若干高速
管理者がファイル自体を直接見て内容を判断できる

→デメリット
idでのひも付けがきれたとき、ゴミがたまりやすい
ファイル自体を直接編集してしまうと、DBの内容と差異が発生する
データの取り扱いがやや煩雑
    • good
    • 0
この回答へのお礼

分かりやすいご説明で、大変理解が深まりました。
この度は、誠にありがとうございました。

お礼日時:2012/10/23 10:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!