간단한 조회 쿼리 질문드립니다 0 1 722

by 우리형 [SQL Query] [2020.02.21 22:44:57]


안녕하세요 한창 배워가고 있는 새내기입니다.

공부하다가 궁금한게 생겨서 질문 올려봅니다.

 

테이블이 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'
;

물론 이렇게 쿼리를 짜도 되겠지만, 테이블의 건수가 많고 테이블당 건수가 차이가 많이 나면 쿼리에 따라 속도 차이가 날 것 같은데,

이럴 때는 어떻게 쿼리를 짜는게 좋을까요?

by 마농 [2020.02.24 08:20:00]

조건이 다양하고 범위 검색을 한다거나 하면 고민을 해야 하겠지만.
유일키 값을 조건으로 주는 거기 때문에 뭘 어떻게 하든 큰 무리가 없을 듯 합니다.
올려주신 쿼리는 조인이 필요한지 의문이 가는 쿼리네요.(a,b,c 불필요, d 만 필요)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입