복합 키 또는 새로운 고유 키
-
18-09-2019 - |
문제
나는 어느 것이 가장 좋을지 알고 싶습니다. 나는 COL1이있는 테이블을 가지고있다 (외래 키 FK1), col2 (또한 외래 keyfk2). PK AS (col1, col2) 또는 새로 생성 된 PK를 사용할 수 있습니까? 쿼리는 기준의 FK1과 조인에 FK2가 있습니다. 친절하게 나에게 최고의 것을 제안합니다.
추신 : MySQL을 사용하고 있습니다
해결책
이것이 다수의 링크 테이블이라면 사용하십시오. (col1, col2)
A로 PK
.
외국 열쇠 MySQL
암시합니다 InnoDB
인덱스 조직화 된 것은 테이블 자체가 PRIMARY KEY
그리고 기록이 주문됩니다.
당신이 또한 검색하려는 경우 col2
그리고 사용 col1
조인에서는 추가 보조 인덱스를 만들어야합니다. (col2)
. 이 색인은 암시 적으로 포함됩니다 PRIMARY KEY
레코드 포인터로서의 가치, 따라서 실제로는 (col2, col1, col2)
.
다른 팁
다른 사람들이 말했듯이 - 이것이 링크 테이블 인 경우 col1, col2를 PK로 사용하십시오. 반면 에이 테이블을 연결할 수 있다면 새로운 키를 만들 수 있습니다. COL1, COL2 쌍에 고유 한 제약 조건을 넣을 수도 있습니다.
제휴하지 않습니다 StackOverflow