重複の可能性:
画像を DB に保存する - はい、いいえ?
ユーザーが自分のアバターをアップロードできるシステムを構築しています。これには、画像をデータベースに保存する方法と、画像への実際のパスをデータベースに保存して画像をハード ドライブに保存する方法の 2 つがあることがわかりました。私はこれらの方法のどれを使用するのか疑問に思っています。では、どちらが優れていて、どちらを選択すればよいのでしょうか?
重複の可能性:
画像を DB に保存する - はい、いいえ?
ユーザーが自分のアバターをアップロードできるシステムを構築しています。これには、画像をデータベースに保存する方法と、画像への実際のパスをデータベースに保存して画像をハード ドライブに保存する方法の 2 つがあることがわかりました。私はこれらの方法のどれを使用するのか疑問に思っています。では、どちらが優れていて、どちらを選択すればよいのでしょうか?
これを行う通常の方法は2番目の方法です。完全な画像をBLOBとして保存するには、DBに負担がかかりすぎます。画像をウェブルートに保存し、パスをDBテーブルに保存するだけです。
どちらの方法でも問題なく動作します。私の意見では、それは組織の問題です。たとえば、データ内の画像がデータベースにある場合は、一度にバックアップできますが、実際には緊張します-彼らが言ったように-しかし、それは利点です.
8vius が指摘しているように、私は画像をデータベースに保存しません。データベースに負担がかかりすぎます。パスをデータベースに保存する代わりに、何らかの論理アルゴリズムによって画像を取得することもできます。たとえば、ユーザーが一意の識別子を持っている場合、それを使用して画像へのパスを作成できます。したがって、ユーザーの ID が 1080 の場合、パスは /avatars/1080.png のようになります。
ところで、gravatar.comをご存知ですか? ニーズに合っている場合は、自分で機能を構築する手間を省くことができます。