2009-05-04 9 views
4

기본적으로 uniqueidentifier 열에 클러스터 된 인덱스를 갖는 것이 성능상 좋지 않은 선택임을 나타내는 다양한 질문/대답을 읽었습니다. 그럼에도 불구하고 고유 키를 기본 키로 사용해야하며 생성 된 값이 서로 비슷하기 때문에 newsequentialid()를 사용하고 싶지 않습니다. (임의의 ID가 필요하므로 사용자가 [합리적으로 '추측] 할 수 없으므로] 다른 ID).SQL Server의 고유 식별자 열에 클러스터 된/클러스터되지 않은 인덱스

그래서이 PKI를 인덱싱하는 가장 좋은 방법은 무엇입니까? 이 열의 클러스터형 인덱스가 이상적이지는 않지만 "클러스터되지 않은 고유 한"인덱스보다 좋습니까?

당신이, 당신이 문제에있어 (무작위 찾는 것보다 더) 임의성을 달성하기 위해 NEWID()를 사용하려는 경우 나, SQL 서버 모두의 2005 년

답변

9

먼저 사용하고 있습니다.

다른 인덱스가 클러스터 된 인덱스 키를 참조하고 긴 클러스터 된 인덱스 키가 모든 인덱스의 성능을 저하시키기 때문에 일반적으로 이상적인 선택입니다. IDENTITY 정수 열을 만들어 클러스터 된 인덱스로 만들고 uniqueidentifier 열에 클러스터되지 않은 고유 인덱스를 만들면됩니다.