Open gmelon opened 10 months ago
위 글이 전체적으로 잘 설명 되어 있네요.
오.. 신기하군요
결국 실제 드라이빙 테이블의 결과는 조인 버퍼에 담아 두고, 드리븐 테이블을 먼저 읽고 조인 버퍼에서 일치하는 레코드를 찾는 방식
이기 때문에 드리븐 테이블의 순서로 정렬될 수 있다는 거네요
해결책으로 조인 설정외에도 무조건 인덱스 정렬 순서에 의존하지 말고 order by를 명시하는 것도 있을것 같습니다!
달아주신 링크보고 추가적으로 잘 이해가 된것같습니다. 상혁님 말대로 우선 order by를 명시해도 인덱스로 잘 정렬이 되었다면 어짜피 불필요하게 다시 정렬을 안한다고 하니 명시를 해두는 것도 좋은 방법일 것 같습니다.
p.297 마지막 부분에
조인이 사용된 쿼리의 실행 계획에 조인 버퍼가 사용되면 순서가 흐트러질 수 있기 때문에 주의해야 한다
고 되어 있는데