画像をSQLデータベースに保存したい。画像のサイズは 50kb から 1mb です。FileStream と FileTable について読んでいましたが、どちらを選択すればよいかわかりません。各行には 2 つの画像とその他のフィールドがあります。
画像が更新/削除されることはなく、1 日に約 3000 行が挿入されます。
この状況でおすすめは?
画像をSQLデータベースに保存したい。画像のサイズは 50kb から 1mb です。FileStream と FileTable について読んでいましたが、どちらを選択すればよいかわかりません。各行には 2 つの画像とその他のフィールドがあります。
画像が更新/削除されることはなく、1 日に約 3000 行が挿入されます。
この状況でおすすめは?
SQL Server では、BLOB はvarbinary(max)
テーブルにデータを格納する標準データ、またはvarbinary(max)
ファイル システムにデータを格納する FILESTREAM オブジェクトです。データのサイズと用途によって、データベース ストレージとファイル システム ストレージのどちらを使用するかが決まります。
次の条件に該当する場合は、FILESTREAM の使用を検討する必要があります。
小さいオブジェクトの場合、データベースに varbinary(max) BLOB を格納すると、多くの場合、ストリーミング パフォーマンスが向上します。
FILETABLE の利点:
SQL Server データベース内に格納されたファイル データの Windows API 互換性。Windows API の互換性には、次のものが含まれます。
管理ツール、サービス、FILESTREAM およびファイル属性データに対するリレーショナル クエリ機能など、他の SQL Server 機能との互換性。
場合によります。個人的には、表内の画像へのリンクを好みます。より単純で、ディレクトリのファイルを個別にバックアップできます。
いくつかのことを考慮する必要があります。
画像をどのように処理するか。リンクのみを使用すると、Web ページ内にイメージを簡単に組み込むことができます (Web サーバーの適切な構成を使用)。
イメージの量 - イメージが DB に保存されていて、イメージが多い場合 - これにより、DB とバックアップのサイズが増加します。
イメージは頻繁に変更されますか? その場合、DB 内にバックアップの実際の状態を保持するために、DB 内にイメージを配置する方がよい場合があります。