4

私のアプリケーションはSQLServer2008を使用しており、オプションで任意のサイズの任意のファイルをデータベーステーブルに保存できるようにするための機能をユーザーに追加する必要があります。この形式のようなテーブルを設定しました。

  • FileStorageID- int (indentity PK)(これは別のテーブルへの外部キーでもあります)
  • FileData-varbinary(max)
  • ファイル名 -varchar(1000)

このFileStorageテーブルは、別のテーブルと0対1の関係にありますDocumentation。アイデアは、ユーザーがテキストを書くか、ファイルをアップロードするか、またはその両方を書くことができるということです。

この表は次のようになります。

  • DocumentationID- int (identity PK、「IrrelevantInterestingObject」テーブルへのFK)
  • 文章 -varchar(max)
  • FileStorageID-int (FK前述のFileStorageテーブルへ)

私の質問はこれです:DocumentationEntity Framework 5を使用してテーブルをクエリし、ファイルがデータベースに存在する場合、ファイル全体がメモリに保存されますか?はいの場合、顕著なパフォーマンスの問題が発生する前の妥当なしきい値は何でしょうか?

4

1 に答える 1

4

テーブルにクエリを実行すると、リレーションを積極的、明示的、または遅延読み込みによって読み込むまでDocumentation、関連テーブルからのデータは読み込まれません。FileStorageこのようなメソッドまたはクエリを使用すると、取得されたすべてのレコードFileStorage全体がメモリにロードされます。FileData

于 2012-10-15T22:08:07.817 に答える