SQL Server 2008でNVARCHAR(MAX)
型の列を宣言したのですが、MAXを長さとする正確な最大文字数はいくつでしょうか。
NVARCHAR(MAX)
型の列の最大サイズは、2 GBの記憶領域です。
NVARCHAR
は1文字あたり2バイトを使用するので、それは約です。 10億文字.
Leo Tolstojの戦争と平和は、約600'000の単語を含む1'440ページの本です。ですから、それぞれのNVARCHAR(MAX)
列に、戦争と平和の本全体の約166部を貼り付けることができます。
あなたのニーズに十分なスペースがありますか? :-)
デフォルトでは、実際の長さが4000文字を超えない限り、nvarchar(MAX)値はnvarchar(4000)値とまったく同じように格納されます。その場合、行内データは、データが格納されている1つ以上の別々のページへのポインタに置き換えられます。
データが4000文字を超える可能性があると予想される場合は、nvarchar(MAX)を使用することをお勧めします。
から MSDNドキュメント
nvarchar[(n |max)]
可変長Unicode文字列データ。 nはストリングの長さを定義し、1から4,000までの値にすることができます。 maxは、最大ストレージサイズが2 ^ 31-1バイト(2 GB)であることを示します。記憶サイズ(バイト単位)は、入力されたデータの実際の長さの2倍+ 2バイトです。
私は実際にnvarchar(MAX)
はおよそ1070000000文字を格納できると思います。