SQL에서 드라이빙 테이블(driving table) 은 JOIN 실행 시 가장 먼저 읽히고, 기준이 되는 테이블을 의미한다.
즉, DB 엔진이 다른 테이블을 탐색할 때 출발점 역할을 하는 테이블이다.
조금 더 기술적으로 설명하면 다음과 같다.
JOIN 실행 계획에서 가장 먼저 접근(Access)하는 테이블이다.
이 테이블의 각 행(row)을 기준으로, 나머지 조인 대상 테이블들을 탐색한다.
예시
SELECT *
FROM A
JOIN B ON A.id = B.a_id;
실행 계획에서 DB가 A → B 순으로 읽으면
A가 드라이빙 테이블이다.
JOIN의 효율성을 결정하기 때문이다.
드라이빙 테이블에서 읽은 각 row에 대해 반대쪽 테이블에서 매칭을 찾기 때문에:
즉,
드라이빙 테이블 Rows ×(상대 테이블 탐색 비용)