문제

나는 어느 것이 가장 좋을지 알고 싶습니다. 나는 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 쌍에 고유 한 제약 조건을 넣을 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top