文字列を格納するための SQL Server のさまざまなデータ型の違いについて疑問に思います。
たとえばntext
、、、など。nvarchar(X)
_varchar
nvarchar(max)
柔軟性、リソースの使用、およびパフォーマンスに関するアドバイスは何ですか?
文字列を格納するための SQL Server のさまざまなデータ型の違いについて疑問に思います。
たとえばntext
、、、など。nvarchar(X)
_varchar
nvarchar(max)
柔軟性、リソースの使用、およびパフォーマンスに関するアドバイスは何ですか?
すべての文字列タイプN
はユニコードです(各文字に2バイト、キリル文字、アジア語、アラビア語、ヘブライ語のアルファベットなどを格納します)が、先頭のN
ない文字列タイプはユニコードではありません(西ヨーロッパ/ ASCII文字のみを適切に格納します)
TEXT
NTEXT
非推奨です-これらはもう使用しないでください-代わりに使用してください(N)VARCHAR(MAX)
-詳細については、そのトピックに関連するMSDNドキュメントを参照してください
NVARCHAR(X)
最大で「通常の」文字列です。8000バイトのデータ(4000Unicodeまたは8000非Unicode文字)-SQLServerの通常のページに保存されます
NVARCHAR(MAX)
は特殊なタイプで、最大2 GBのストレージ(10億Unicode文字)ですが、ストレージでの特殊な処理が必要であり、より多くの労力が必要であり、通常の文字列よりも実行速度が少し遅くなります。どうしても必要な場合にのみ使用してください
通常の英語の文字にはvarcharを使用し、その他の言語や外国語の文字にはnvarcharを使用します。varcharは文字ごとに1バイトを使用して格納し、nvarcharは文字ごとに2バイトを使用します。
nvarchar と varchar の違いについては、以下のリンクを参照してから、最適なものを選択してください