앞서 유연성과 확장성 측면에서 비식별 관계가 유리하다는 것을 봤다. 이번에는 SQL 작성과 성능 관점에서 두 관계를 비교한다.

4-1. 단일 행 조회 쿼리 비교

요구사항: "특정 댓글 한 건의 내용을 조회하라."

비식별 관계

-- comment_id가 500번인 댓글 조회
SELECT content
FROM comment_non_identifying
WHERE comment_id = 500;

식별 관계

-- 10번 게시글의 3번째 댓글 조회
SELECT content
FROM comment_identifying
WHERE board_id   = 10
  AND comment_no = 3;

4-2. 조인과 조회 범위

식별 관계 구조에서는 손자 테이블에 조상 PK가 그대로 내려오므로, 조인 없이 조회할 수 있는 경우가 있다.

비식별 관계에서는 조인이 필요하지만, 각 인덱스가 단순하고, 구조가 유연하다.

4-3. 단일 식별자가 주는 소프트웨어적 이점

1) API·URL 설계

2) 코드 단순성