나는이 아주 새로운 해요 *, I 수도 (아마 것?) 정정 해줘 주시기, 이제 다음 몇 가지 jibberish을 얘기) 내가 놀아있어병합 두 테이블, 중복 키는
다른 기본 키/인덱스 전략과 다음에 대해 궁금해했다. GUID를 기본 키로 선택하는 경우 대부분의 데이터베이스에서 레코드를 고유 한 ID로 제공하는 경우가 많습니다.
GUID를 기본 키 (및 클러스터 된 인덱스로 사용하는 기본 동작)로 사용하면 성능 문제가 발생합니다. NEWSEQUENTIALID()를 사용하거나 추가 IDENTITY 열을 추가하여 순차 클러스터형 인덱스를 제공하는 것과 같이 생각할 수있는 몇 가지 대안이 있습니다.
또 다른 하나는 기본 키 (및 인덱스)의 GUID를 함께 제거하는 동시에 외부 식별자/ROWID를 통해 고유 한 식별을위한 열을 제공합니다. 작은 테이블을 남깁니다. 물론 추가 열의 16 바이트 페널티가 있지만 몇 개의 FK가있는 테이블에서는이 열이 빠르게 줄어 듭니다. 페이지에 더 많은 것들, 좋은 순차적 인 ID, 작은 인덱스 공간, 그래서이기십시오.
그러나이 방법을 사용하면 두 가지 테이블을 병합하려는 경우 중복 키로 인해 막히게됩니다. 이제는이 접근법을지지하지 않습니다. 저는 데이터베이스 설계의이 부분에 좀 더 정통하게하기 위해 다양한 전략을 탐색하고 비교하는 것일뿐입니다.
질문 :이 문제에서 중복 키 문제를 해결하기 위해 GUID의 고유성을 어떻게 사용할 수 있습니까? 테이블 제한 조건을 모두 비활성화하고 테이블이 병합되면 IDENTITY를 생성해야합니까? 이 접근법을 완전히 폐기해야합니까?
이 유용한 게시물에 감사드립니다. 다른 사람들로부터 더 많은 통찰력을 얻는 것이 좋습니다. :) – fuaaark