13

画像をSQLデータベースに保存したい。画像のサイズは 50kb から 1mb です。FileStream と FileTable について読んでいましたが、どちらを選択すればよいかわかりません。各行には 2 つの画像とその他のフィールドがあります。

画像が更新/削除されることはなく、1 日に約 3000 行が挿入されます。

この状況でおすすめは?

4

3 に答える 3

2

SQL Server では、BLOB はvarbinary(max)テーブルにデータを格納する標準データ、またはvarbinary(max)ファイル システムにデータを格納する FILESTREAM オブジェクトです。データのサイズと用途によって、データベース ストレージとファイル システム ストレージのどちらを使用するかが決まります。

次の条件に該当する場合は、FILESTREAM の使用を検討する必要があります。

  • 格納されているオブジェクトは、平均して 1 MB を超えています。
  • 高速読み取りアクセスが重要です。
  • アプリケーション ロジックに中間層を使用するアプリケーションを開発しています。

小さいオブジェクトの場合、データベースに varbinary(max) BLOB を格納すると、多くの場合、ストリーミング パフォーマンスが向上します。

FILETABLE の利点:

  • SQL Server データベース内に格納されたファイル データの Windows API 互換性。Windows API の互換性には、次のものが含まれます。

    • 非トランザクション ストリーミング アクセスと FILESTREAM データへのインプレース更新。
    • ディレクトリとファイルの階層的な名前空間。
    • 作成日や変更日などのファイル属性の保存。
    • Windows ファイルおよびディレクトリ管理 API のサポート。
  • 管理ツール、サービス、FILESTREAM およびファイル属性データに対するリレーショナル クエリ機能など、他の SQL Server 機能との互換性。

于 2018-10-13T09:49:09.883 に答える
-2

場合によります。個人的には、表内の画像へのリンクを好みます。より単純で、ディレクトリのファイルを個別にバックアップできます。

いくつかのことを考慮する必要があります。

  1. 画像をどのように処理するか。リンクのみを使用すると、Web ページ内にイメージを簡単に組み込むことができます (Web サーバーの適切な構成を使用)。

  2. イメージの量 - イメージが DB に保存されていて、イメージが多い場合 - これにより、DB とバックアップのサイズが増加します。

  3. イメージは頻繁に変更されますか? その場合、DB 内にバックアップの実際の状態を保持するために、DB 内にイメージを配置する方がよい場合があります。

于 2015-09-01T14:33:59.723 に答える