2009-07-24 5 views
4

SQL Server 2005(7.0ではなく)では、256またはその他の数値の代わりにNVARCHAR(255)を使用する理由はありますか?
最適なサイズはありますか?2のべき乗を使用する理由はありますか?SQL Server 2005のNVARCHARサイズ

(Iは、Unicodeデータを格納することになるので、私はN VARCHARを使用する必要があります)

答えて

2

SQL Server(2000およびそれ以前のIIRC)では、(n個の)テキストとイメージの内容を除いた、すべての列のサイズに応じて最適な(場合によっては最大でも)列のサイズが異なります。 8Kはテーブル内のレコードの「自然な」サイズなので、一緒に追加するカラムサイズは8000バイト未満にする必要があります。

これよりも高いSQL Server 2005では、これは大きな問題ではないと私は信じています。

+0

BOLの最大容量仕様に従って、SQL Serverの行の最大サイズは8060バイトです。 –

1

最適なサイズは、あなたがあなたのデータを保存する必要があります。最大の長さです。

+0

はい、私は正確にどれくらいの時間がかかるかはわかりませんし、何を丸めるのか不思議です。右側には2,300文字の音がします。 – SLaks

+0

これは、データを格納するための最小長でなければなりません。 –

-1

SQL 2005+には、利用可能な最大サイズを使用するNVarChar(max)があります。その中に最大2GBまで保存できます。その同じことがNTEXT

ように、それは彼らがSQL Server 2005の、ないではすべてほとんど同じ

3

あるとして、あなたが保存本当に問題doesntの。 255を使用する唯一の理由は、他のプラットフォームとの移植性を考慮する必要がある場合です。他のデータベースのフレーバーによっては、タイプの名前が255文字の後に完全に変更されます。

1

いいえ、2の累乗である最大フィールド長を選択する利点はありません。

これは、256文字未満の文字列が一方向に格納され、255文字以上の文字列が別の方法で格納される、ソフトウェア開発の古くて厄介な時代のホールドオーバーです。