文字列を格納するための SQL Server のさまざまなデータ型の違いについて疑問に思います。
たとえばntext、、、など。nvarchar(X)_varcharnvarchar(max)
柔軟性、リソースの使用、およびパフォーマンスに関するアドバイスは何ですか?
文字列を格納するための SQL Server のさまざまなデータ型の違いについて疑問に思います。
たとえばntext、、、など。nvarchar(X)_varcharnvarchar(max)
柔軟性、リソースの使用、およびパフォーマンスに関するアドバイスは何ですか?
すべての文字列タイプNはユニコードです(各文字に2バイト、キリル文字、アジア語、アラビア語、ヘブライ語のアルファベットなどを格納します)が、先頭のNない文字列タイプはユニコードではありません(西ヨーロッパ/ ASCII文字のみを適切に格納します)
TEXTNTEXT非推奨です-これらはもう使用しないでください-代わりに使用してください(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 の違いについては、以下のリンクを参照してから、最適なものを選択してください