안녕하세요 한창 배워가고 있는 새내기입니다.
공부하다가 궁금한게 생겨서 질문 올려봅니다.
테이블이 A,B,C,D 이렇게 4개가 있고,
관계는 A와 B, C는 1:1, A와 D는 1:N 이고,
A,B,C의 PK는 ID / D의 PK는 ID, SEQ이며,
A는 200만개, B는 100만개, C는 1만개, D는 5000만개의 데이터가 들어있다고 가정해보겠습니다.
A,B,C,D에 모두 존재하는 ID 중 특정 ID에 해당하는 D의 모든 데이터를 조회하려고 할때,
SELECT D.* FROM A, B, C, D WHERE A.ID = B.ID AND B.ID = C.ID AND C.ID = D.ID AND D.ID = '123' ;
물론 이렇게 쿼리를 짜도 되겠지만, 테이블의 건수가 많고 테이블당 건수가 차이가 많이 나면 쿼리에 따라 속도 차이가 날 것 같은데,
이럴 때는 어떻게 쿼리를 짜는게 좋을까요?