SQL 복합 기본 키: 정의 및 최적화
SQL의 복합 기본 키는 여러 열을 사용하여 테이블 내의 각 행을 고유하게 식별합니다. 이는 단일 열 기본 키와 대조됩니다. 하나를 만들려면 PRIMARY KEY
키워드
예시:
voting
, QuestionID
및 MemberID
필드가 있는 vote
테이블을 구축한다고 가정해 보겠습니다. QuestionID
및 MemberID
을 복합 기본 키로 사용하여 회원이 질문당 한 번만 투표할 수 있도록 하겠습니다.
<code class="language-sql">CREATE TABLE voting ( QuestionID NUMERIC, MemberID NUMERIC, vote VARCHAR(255), PRIMARY KEY (QuestionID, MemberID) );</code>
QuestionID
과 MemberID
의 조합은 각 레코드를 고유하게 식별합니다. 결정적으로 QuestionID
및 MemberID
모두 NULL
값
성과에 대한 지수 영향:
전략적 추가 색인:
기본 키 외부의 열을 자주 쿼리하시나요? 이러한 열에 대해 별도의 인덱스를 생성하는 것은 성능 최적화 전략입니다.
예를 들어 MemberID
테이블의 쿼리에서 voting
가 자주 사용되는 경우 추가 인덱스가 도움이 될 수 있습니다.
<code class="language-sql">CREATE UNIQUE INDEX idx1 ON voting (MemberID, QuestionID);</code>
이것은 MemberID
과 QuestionID
을 사용하여 고유한 인덱스를 생성합니다. 쿼리 패턴에 맞게 순서가 기본 키 순서와 다를 수 있습니다. 최적의 인덱스 순서 선택은 가장 빈번한 쿼리 유형에 따라 다릅니다.
위 내용은 SQL에서 복합 기본 키를 어떻게 정의하고 최적화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!