SQL Server 2008でデータベースを作成していますが、
CREATE TABLE Users
(
U_Id INT NOT NULL
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Email VARCHAR(200)
Password VARCHAR(50)
)
U_Idを主キーにします。私はどう違いますか?
CONSTRAINT pk_UserID PRIMARY KEY (U_Id)
この
CONSTRAINT pk_UserID PRIMARY KEY CLUSTERED (U_Id)
この
CONSTRAINT pk_UserID PRIMARY KEY NONCLUSTERED (U_Id)
それぞれをいつ使用するか?
私はいくつかの記事を読みましたが、それはまだ私には不明です。誰かが簡単な説明をくれますか?
次のステートメント:
CONSTRAINT pk_UserID PRIMARY KEY (U_Id)
これと同じです:
CONSTRAINT pk_UserID PRIMARY KEY CLUSTERED (U_Id)
テーブルデータの物理性は、インデックスのoneでのみ順序付けることができ、デフォルトでは、そのインデックスはプライマリキーに使用されるインデックスです(プライマリキーの一意制約は常にインデックスでサポートされます)。
テーブルデータの順序を他のインデックスに従って保存する場合は、次のように主キーを作成する必要があります。
CONSTRAINT pk_UserID PRIMARY KEY NONCLUSTERED (U_Id)
次に、次を使用してクラスター化インデックスを作成します。
CREATE CLUSTERED INDEX ix_Email ON Users (Email);