31
私は、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)
それぞれを使用するには、違いが何であるかをお尋ねしたいの?
私はいくつかの記事を読んだが、まだ私には不明である。誰かが私に簡単な説明を教えてもらえますか?
クラスタ化されていないインデックスを作成すると、クラスタ化インデックスにデータが常に含まれることに注意してください(これは、テーブルの実際のデータ行がどのように見つかるためです)。 [Microsoft docs](http://msdn.microsoft.com/en-us/library/ms177484.aspx)大規模/ワイドインデックスをクラスタ化インデックスにすることでスペースを節約できるとは思わないテーブルに他のインデックスはありません。 – Granger
主キーは、行の識別子です。一意で、nullでない必要があります。 Clustered Indexは、ディスクにデータを格納する方法をSQLに指示します。実際のデータ行は、このインデックスで指定された順序で格納されます。データがディスク上のどこに格納されているかに関するデータも含まれているため、クラスタ化インデックスキーはすべてのインデックスに格納されます。 ほとんどの場合、これらを同じにすることをお勧めします。また、データがディスクに順次格納されるように、主キーを識別子にすることは、ほとんど常に最良です。 – brianfeucht