sort 연산을 생략하기 위해 order by 컬럼을 인덱스에 명시하는 건 이해가 잘 됐습니다.
group by도 책에서 봤을 때 생략하기 위해 인덱스 컬럼 추가로 봤었는데
문제를 풀다보니 아닌거 같더라구요. 이 부분이 헷갈리는데 도움 부탁드립니다
(SELECT 고객번호, avg(거래금액) 평균거래
from 거래
where 거래일시 >= trunc(sysdate, 'mm')
group by 고객번호 )
거래_x1 : 거래일시
거래_x2 : 고객번호 + 거래일시
제가 공부한 내용은 group by에 해당된 컬럼 + 거래일시 이런식으로 인덱스 스캔할꺼라고 생각했는데
문제들을 보니 x1을 타더라구요
group by 는 인덱스 설정을 안해주는게 맞나요?
추가로 저기서 고객 테이블과 조인이 있을 경우 NO_UNNEST PUSH_PRED로 고객번호가 PUSH DOWN되면 거래_x2를 타는걸로 알고있습니다.