3

私は、小さなデータベースを使用してデータ ドリブン テストを示す MSDN の例を使用しています。簡単なスキーマは次のとおりです。

CREATE TABLE dbo.LogonInfoTest
   (
   UserId nchar(256) NOT NULL PRIMARY KEY CLUSTERED,
   Password nvarchar(256) NULL,
   IsValid bit NOT NULL
   )  ON [PRIMARY]
GO

私の質問は次のとおりです: UserId のデータ型として nchar を選択し、Password のデータ型として nvarchar を選択する根本的な理由は何ですか?

4

1 に答える 1

5

理由がない。UserId が常に正確に256 文字になるとは信じがたいので、主キーは NVARCHAR(256) にする必要があります。現在、このスキーマはディスク上の (大量の) スペースを浪費している可能性があります。SQL Server 2008の行圧縮ストレージでは、行圧縮が有効な場合にのみ、固定長の列が可変長の列としてディスクに格納されることに注意してください (末尾のスペースは削除されます) 。

于 2010-09-13T22:35:19.633 に答える