사용자는 결과 조건과 필요한 열을 선언합니다.
SQL은 원하는 결과를 선언하지만, DBMS 내부에서는 관계 대수에 가까운 논리 계획으로 바뀌고 여러 등가 변환을 거쳐 물리 실행 계획이 됩니다.
논리적으로는
π이름(σ학과='컴퓨터'(학생) ⋈학번 수강) 흐름으로 읽을 수
있습니다.
사용자는 결과 조건과 필요한 열을 선언합니다.
선택 σ, 투영 π, 조인 ⋈ 같은 연산 트리로 해석됩니다.
필터 푸시다운, 투영 푸시다운, 조인 순서 변경을 적용합니다.
통계로 추정한 비용이 낮은 접근 경로와 조인 방식을 선택합니다.
선택도가 높으면 테이블 접근 단계 가까이로 내려갑니다.
필요 열과 조인 키만 남겨 중간 결과 폭을 줄입니다.
학생.학번 = 수강.학번 조건을 기준으로 순서와 물리
방식이 비용을 바꿉니다.
EXPLAIN을 읽는 감각: 필터가 왜 먼저 내려갔는지, 조인 순서가 왜 바뀌었는지, 어떤 인덱스가 선택됐는지를 관계 대수 관점으로 설명할 수 있습니다.