31
내가 SQL 서버 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)이 아니어야합니다. 클러스터 된 인덱스는 SQL에 디스크에 데이터를 저장하는 방법을 알려줍니다. 실제 데이터 행은이 색인에 지정된 순서대로 저장됩니다. 데이터가 디스크에 저장되는 위치에 대한 데이터도 포함되어 있으므로 클러스터 된 인덱스 키가 모든 인덱스에 저장됩니다. 거의 모든 경우에 동일하게 설정하는 것이 가장 좋습니다. 또한 데이터가 디스크에 순차적으로 저장되도록 기본 키를 식별자로 사용하는 것이 가장 좋습니다. – brianfeucht