여러 비즈니스 분야에서 레코드를 고유하게 식별 할 수있는 여러 테이블이 있습니다. 과거에는 다음과 같은 이점을 염두에두고이 필드를 PK로 사용했습니다.
- 간단; 외부 필드가없고 하나의 인덱스 만 있습니다
- 클러스터링은 빠른 병합 조인 및 범위 기반 필터를 허용합니다
그러나 합성 IDENTITY INT
PK 를 만들고 별도의 UNIQUE
제약 조건으로 비즈니스 키를 시행 하는 사례를 들었습니다 . 좁은 PK는 훨씬 작은 2 차 지수를 만든다는 장점이 있습니다.
테이블 에 PK 이외의 인덱스 가 없으면 두 번째 방법을 선호하는 이유는 없지만 큰 테이블에서는 나중에 인덱스가 필요할 수 있다고 가정하는 것이 가장 좋으며 따라서 좁은 합성 PK를 선호하는 것이 가장 좋습니다 . 고려 사항이 누락 되었습니까?
덧붙여서, 저는 데이터웨어 하우스에서 합성 키를 사용하는 것에 대해 논쟁하지 않고 단일 PK를 언제 사용할 것인지, 좁은 PK와 영국을 사용할 때에 만 관심이 있습니다.