Projection Push-Down

필요한 열과 조인 키만 먼저 남기면 조인이 훨씬 좁아집니다.

투영 푸시다운은 최종 출력에 필요한 열뿐 아니라, 조인을 수행하는 데 필요한 키를 함께 보존한 뒤 불필요한 열을 일찍 제거합니다.

π이름(학생 ⋈ 수강)
≡ π이름(π학번,이름(학생) ⋈ π학번(수강))

자연 조인 기준으로 학번은 출력하지 않아도 조인 전까지 필요합니다.

출력 열

최종 결과에 필요한 이름은 학생 쪽에서 남깁니다.

조인 키

학번은 결과에 안 보여도 조인을 위해 양쪽에 남깁니다.

제거 열

학과, 학년, 학점, 학기처럼 불필요한 열은 먼저 버립니다.

넓은 튜플을 끌고 가는 경로

조인 후에야 이름만 투영하므로 중간 결과가 넓습니다.

학생 학번, 이름, 학과, 학년 4열
수강 학번, 과목, 학점, 학기 4열
중간 필요 없는 속성까지 결합 넓음

조인 전에 폭을 줄이는 경로

각 입력에서 필요한 속성만 남겨 조인 단계의 데이터 폭을 줄입니다.

학생 학번, 이름 2열
수강 학번 1열
중간 같은 결과를 더 좁은 튜플로 계산 가벼움

핵심 규칙: 투영을 밀어 넣을 때는 출력 열만 보지 말고, 이후 선택 조건과 조인 조건에서 필요한 속성까지 함께 남겨야 합니다.