顧客が多くのドキュメントを持つことができる、顧客とドキュメントの標準的なユースケースを想定します。また、各顧客に関連する多数の大きなファイル(数キロバイトから数カ所のギグまで)が存在すると仮定します。SQL Serverでは、FILESTREAMのメタデータを別のテーブルに配置する必要がありますか?
DocumentStore
テーブルは、少なくとも、必要があります... 同じテーブル又は異なる表のようCustomerId, FileExtension, FileSize, Hash, CreatedBy, CreatedDate, ...
goitfなどのフィールドの長所と短所は
DocumentId INT IDENTITY PRIMARY KEY,
Stream VARBINARY(MAX) FILESTREAM NOT NULL,
DocGuid UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL
UNIQUE DEFAULT NEWID
何である(参照してもちろん同じDocumentId
に)?
この質問は、主に、クエリを実行するときのパフォーマンスやページングなどの不確定性に起因しています。 (CustomerIdの上に追加のインデックス、おそらくありません他の人を想定。)