#실행계획

질문 1
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

일 년 전 · 김도열 님의 답변 업데이트

mysql 실행계획 질문드립니다 (조인과 where문 조건 필터링 순서)

쿼리는 아래와 같습니다 EXPLAIN SELECT SUM(t.fee) FROM team t INNER JOIN student s ON s.student_id = t.student_id WHERE s.teacher_id = 3 AND t.team_unit in ('SOCCER', 'COOKING'); teacher 테이블과 student 테이블이 있고, student 테이블이 teacher 테이블의 id를 외래키로 갖고 있습니다 student 테이블과 team 테이블이 있고, team 테이블이 student 테이블의 id를 외래키로 갖고 있습니다 위 쿼리는 student와 team을 조인해서 특정 teacher_id와 team _type을 갖는 로우에 대해 fee 컬럼을 sum하는 쿼리입니다 조인은 nested loop 조인 방식으로 돌아갑니다 (인터넷에서 본 예제를 조금 변행해서 문법이 틀릴 수도 있습니다 양해 부탁드립니다) 사진은 해당 쿼리의 실행계획입니다 실행계획 역시 제가 원래 예제에서 약간 변형한거라 실제와 틀린 부분이 있을 수 있습니다 질문: 아래 두 가지 쿼리 실행 동작 과정 중에 어느 것이 맞는 건가요?? 1번 1. 두 테이블을 nested loop로 조인한 뒤 2. teacher_id가 3이고 team_unit이 SOCCER와 COOKING인 로우를 가져온 뒤에 sum 2번 1. student 테이블에서 teacher_id가 3인 로우 select 2. 1번에서 나온 결과를 바탕으로 team 테이블에서 student_id와 student 테이블의 student_id와 일치하는 로우를 nested loop 방식으로 조인, team_unit이 SOCCER와 COOKING인 로우를 가져온 뒤에 sum Where 조건에 명시된 필터 조건이 조인 전에 발생하는 건지 이후에 발생하는 건지 헷갈려서 질문드립니다

개발자

#mysql

#쿼리실행계획

#실행계획

답변 1

댓글 0

조회 70