테이블에 중복이 입력되지 않도록하는 복합 기본 키 (4 열로 구성)가있는 테이블이 있습니다. 이제이 테이블의 키를 외래 키로 참조 해야하는 새 테이블이 필요합니다.
내 질문은 조회 속도에 어떤 접근 방식이 더 효율적인지입니다.
1) 4 개의 열을 모두 포함하여 새 테이블을 만들고 외래 키로 모두 참조하십시오.
또는
2) 기본 키 테이블에서 새 ID 열을 작성하고이를 새 테이블에서 외래 키로 사용합니까?
이 데이터베이스는 매우 많은 양의 데이터를 보유 할 것으로 예상되므로 각 테이블에 보유 된 데이터의 양을 최소화하기 위해 지금까지 구축했습니다. 이것을 염두에두고, 옵션 2는 모든 행에 대해 2 개의 int 열과 datetime 열을 저장하기 때문에 최선의 접근 방법이지만 불필요한 경우 조회 시간을 늘리지 않으려 고합니다.
INT IDENTITY
그러한 경우 대리 키 (예 :)를 사용합니다. 테이블을 참조하고 조인하는 것이 훨씬 쉬워졌습니다. 중복을 피하려면 이 4 개의 열에 UNIQUE 제약 조건을 두십시오 . 또한 좁은 기본 키는 성능상의 이유로 클러스터링 키로 사용되는 경우 훨씬 더 좋습니다.