SQL에서 드라이빙 테이블(driving table)JOIN 실행 시 가장 먼저 읽히고, 기준이 되는 테이블을 의미한다.

즉, DB 엔진이 다른 테이블을 탐색할 때 출발점 역할을 하는 테이블이다.

조금 더 기술적으로 설명하면 다음과 같다.

1. 드라이빙 테이블의 정확한 정의

JOIN 실행 계획에서 가장 먼저 접근(Access)하는 테이블이다.

이 테이블의 각 행(row)을 기준으로, 나머지 조인 대상 테이블들을 탐색한다.

예시

SELECT *
FROM A
JOIN B ON A.id = B.a_id;

실행 계획에서 DB가 AB 순으로 읽으면

A드라이빙 테이블이다.

2. 왜 드라이빙 테이블이 중요한가?

JOIN의 효율성을 결정하기 때문이다.

드라이빙 테이블에서 읽은 각 row에 대해 반대쪽 테이블에서 매칭을 찾기 때문에:

즉,

드라이빙 테이블 Rows ×(상대 테이블 탐색 비용)