web-dev-qa-db-ja.com

データベースに画像を保存するのに最適なデータ型はどれですか?

Asp.netとSqlサーバーを使用してEコマースWebサイトを開発しています。顧客は、さまざまなスイッチと照明器具を表示して注文できます。

これらの製品の画像をカテゴリごとに表示する必要があるため、表示する必要がある画像の数は500を超える可能性があります。これらの画像をSQLの画像タイプとして保存するか、画像のパス。後者の場合、すべての画像を単一のフォルダーに保存する方が適切ですか?

最善の行動方針についてアドバイスしてください。

15
Supreeth sup

imageデータ型は画像とは関係ありません。なぜ存在するのか分かりません。それはレガシーです。

他のblobを保存するのと同じように画像を保存します:varbinary(max)

ブロブをデータベースに保存するかどうかの問題は以前に説明しました。 ここでの回答は非常に意見が多く、主観的です。データベースの外部にブロブを保存するalwaysと言うのは明らかに間違っています。

11
usr

SQLサーバー上のBLOBには以下のデータ型を使用できます:

Binary:8,000バイトまでの固定サイズ。

VarBinary(n):最大8,000バイトの可変サイズ(nは最大サイズを指定します)。

VarBinary(max):可変サイズ、2 GBの制限。

BLOBとは?

7
Hasan Fathi

製品IDに対して、データベースに画像のURLを保存することをお勧めします。ただし、一度に最大500個のURLをリクエストする場合は、画像のURLをキャッシュするために中央にCDNを導入することをお勧めします。パフォーマンスに大きな影響を与えます

3
Lee Swainsbury

イメージをフォルダーに保存し、そのファイルのパスをSQLサーバーに保存することをお勧めします。ただし、同じ名前のファイルが作成され、置き換えられる場合があります。タイムスタンプ付きで保存されます。そうでなければ、SQLサーバーのImage Datatypeに保存する別の方法を実行するのに役立つと思います。

データをSQLサーバーに保存するにはImage Datatype以下のリンクのGuildlineに従ってください

リンクに移動

1
Mayur Khairnar

これについて考えてみましょう。 Blobフィールドに保存する場合は、そのデータ用に別のファイルグループを作成してください。パスとして保存することにした場合。ファイルストリームを使用します。データベースがパスを管理します。トランザクションで処理されます。データベースと一緒にバックアップされます。

0
vbjay