4

照合順序は、ストレージに関して SQL Server にどのような影響を与えますか? また、これは Unicode および非 Unicode データ型にどのような影響を与えますか?

  • 照合は Unicode ストレージに影響しますか? それともデータベース内の並べ替えルールを管理するだけですか?

  • Unicode 以外のデータ型を使用する場合、照合に関連する制限は何ですか?

  • 制限が適用される場合、非 Unicode データ型のデータベース照合にない文字を格納しようとするとどうなりますか?

私の理解では、Unicode データ型は常に Unicode データの完全なセットを格納できますが、非 Unicode データ型の格納機能はコード ページ (照合によって定義される) に依存し、その中でいくつかの一般的な文字のみを表すことができます。照合。

明らかに、Unicode データ型の各文字は少なくとも 2 バイトを占有しますが、非 Unicode データ型は文字ごとに 1 バイトを占有します (または、これは照合によっても異なりますか?)

ここで私をまっすぐにしてください、これはどのように正確に機能しますか?

4

1 に答える 1

6

SQL Server は Unicode データ (NTEXT、NVARCHAR) を UCS2 に格納するため、常に 1 文字あたり 2 バイトになります。

照合順序は、並べ替え (およびケーシング) にのみ影響します。

非Unicodeデータ型(TEXT、VARCHAR)では、文字ごとに1バイトのみが使用され、照合のコードページの文字のみを保存できます(あなたが述べたように)。照合順序に関するこのMSDN の記事を参照してください

于 2009-12-01T13:12:12.667 に答える