SQL Server 2005 では、長さを明示的に指定するのではなく (例: nvarchar(255))、すべての文字フィールドを nvarchar(MAX) にすることに何かデメリットはありますか? (データベース レベルでフィールドの長さを制限できないという明らかなデメリットは別として)
ベストアンサー1
MSDN フォーラムでも同じ質問がありました:
元の投稿から(さらに詳しい情報があります):
VARCHAR(N) 列にデータを格納する場合、値は物理的に同じ方法で格納されます。ただし、VARCHAR(MAX) 列に格納する場合、画面の背後ではデータは TEXT 値として処理されます。そのため、VARCHAR(MAX) 値を処理する場合は、追加の処理が必要になります。(サイズが 8000 を超える場合のみ)
VARCHAR(MAX) または NVARCHAR(MAX) は、「大きな値型」と見なされます。大きな値型は通常、「行外」に格納されます。つまり、データ行には、「大きな値」が格納されている別の場所へのポインターが含まれます...