SQL에서 외래 키로 복합 키
주어진 시나리오에서는 (beggingTime으로 구성된 복합 기본 키가 있는 튜토리얼 테이블이 있습니다. , day, tutorialId) 및 기본 키 groupId가 있는 그룹 테이블입니다. 튜토리얼의 복합 키를 참조하는 그룹에 외래 키를 생성하여 이러한 테이블 간의 관계를 설정하는 것이 목표입니다.
이를 달성하려면 그룹 테이블에 다음 외래 키 제약 조건을 추가할 수 있습니다.
FOREIGN KEY (`beggingTime`, `day`, `tutorId`) REFERENCES tutorial(`beggingTime`, `day`, `tutorId`)
그러나 복합 기본 키를 외래 키로 사용하면 성능에 영향을 미칠 수 있다는 점에 유의하는 것이 중요합니다. SQL은 정수 기본 키 또는 대리 키를 기반으로 관계를 처리하는 데 최적화되어 있습니다. 복합 키를 사용하면 복잡성이 더 커지고 쿼리 효율성이 감소할 수 있습니다.
이 문제를 완화하려면 자동 증가 정수 열과 같은 대리 기본 키를 포함하도록 튜토리얼 테이블을 재구성하는 것이 좋습니다. 이렇게 하면 복합 키의 고유성을 유지하면서 두 테이블 간의 보다 효율적인 관계가 가능해집니다. 그런 다음 필요한 경우 빠른 조회를 위해 복합 키를 고유 인덱스로 유지 관리할 수 있습니다.
위 내용은 SQL에서 복합 키를 외래 키로 효율적으로 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!