~고군분투 인생살이~

[SQL 개념] Driving Table, Driven Table이란? 본문

SQL/개념

[SQL 개념] Driving Table, Driven Table이란?

소금깨 2022. 6. 29. 15:50
 

[SQL 튜닝] 드라이빙 테이블(DRIVING TABLE)의 개념/결정 규칙

[SQL 튜닝] 드라이빙 테이블(DRIVING TABLE)의 개념/결정 규칙 💡 먼저, 드라이빙 테이블(DRIVING TABLE)이란? JOIN시 먼저 액세스 돼서 ACCESS PATH를 주도하는 테이블을 드라이빙테이블이라고 한다. 즉,.

devuna.tistory.com

 

DRIVING TABLE 이란?

JOIN시 먼저 엑세스 되어 Access path(접근 경로)를 주도하는 테이블을 드라이빙 테이블(TRIVING TABLE, OUTER TABLE)이라고 한다. 

 

DRIVEN TABLE 이란?

DRIVEN TABLE 엑섹스 된 후 나중에 액세스 되는 테이블을 드리븐 테이블(DRIVEN TABLE, INNER TABLE)이라고 한다. 

 

인덱스(INDEX)의 존재 및 우선순위 혹은 FROM절에서의 TABLE 지정 순서에 영향을 받으며, 어느 테이블이 먼저 엑세스 되느냐에 따라 속도의 차이가 크게 날 수 있으므로 많은 양의 데이터를 다룰 때, 드라이빙 테이블은 매우 중요하다.

 

예를 들어,

 

조건을 만족하는 5000만 건인 A 테이블과조건을 만족하는 1000건인 B 테이블과조인 시 드라이빙 순서에 따라 속도의 확연한 차이가 있다.

 

5000만 건을 먼저 드라이빙 하면 5000만 번을 반복하여 B 테이블을 탐색하며

 

1000건인 B가 먼저 드라이빙 되면최대 1000번 A 테이블 탐색이 반복된다.

 

즉, 작업 대상이 되는 행(rows)의 수가 적은 테이블부터 액세스 되어야 전체 탐색이 줄어든다. 

 

 

Comments