by sm5 [Oracle Tuning] [2025.03.17 15:00:23]
안녕하세요.
A테이블 전체건수 3천만건
B테이블 전체 건수는 8천만건
From a, b
Where a.addr=b.addr
And b.telno =1235
이럴때 드라이빙 테이블은 무슨테이블로 잡아야 할까요?
B테이블은 테이블전체건수는 8천만건이지만 b.telno=1235 조건걸면 100건 으로 아주 적습니다.
이건 힌트문제가 아니고
인덱스 문제입니다.
b 테이블에 telno, addr 컬럼 2개로 인덱스를 하나 만들고
a 테이블에 addr로 인덱스를 만들어주면
nl join으로 자동으로 풀릴것으로 보여집니다.
이경우 드라이빙 테이블은 b테이블이 되겠네요.