パフォーマンスも操作上の利点もありません。 SQL 2005 以降、LOB タイプは すでに エンジンによって別のアロケーション ユニット、別の b ツリーに格納されます。 表と索引の構成 SQL Server のすべてのパーティションに、データ、LOB、および行オーバーフローの最大 3 つのアロケーション ユニットがあることがわかります。
(ソース:s-msft.com
)
LOB フィールド (varchar(max)、nvarchar(max)、varbinary(max)、XML、CLR UDT、および廃止された型の text、ntext、および image) は、データ レコード自体、クラスター化インデックス内に、非常に小さなフットプリント:LOB アロケーション ユニットへのポインター。 /PAUL/post/Inside-the-Storage-Engine-Anatomy-of-a-record.aspx">レコードの構造 .
LOB を別のテーブルに明示的に格納しても、何も得られません。 .以前のアトミックな更新は 2 つの別個のテーブルに分散する必要があり、アプリケーションとアプリケーションのトランザクション構造が複雑になるため、不要な複雑さが増すだけです。
LOB コンテンツがファイル全体である場合は、SQL 2008 へのアップグレードと FILESTREAM .