2023-java-study / book-study

북 스터디 기록 레포지토리
0 stars 0 forks source link

[9.2.3.3.1 인덱스를 이용한 정렬] Order By에 명시된 칼럼, 제일 먼저 읽는 테이블 #199

Open gmelon opened 10 months ago

gmelon commented 10 months ago
NuhGnod commented 10 months ago

order by의 명시된 칼럼이 드라이빙 테이블인 경우

image

order by의 명시된 칼럼이 드리븐 테이블인 경우

image

order by의 명시된 칼럼이 드라이빙 테이블인 경우 && 인덱스가 아닌경우

image

ssstopeun commented 10 months ago

제일 먼저 읽는 테이블은

옵티마이저가 우선순위를 매겨서 퀴리를 실행하게 될텐데 이때 옵티마이저가 실행하는 제일 첫번째 테이블을 얘기하는게 아닐까 생각했습니다.

gmelon commented 10 months ago

오 좋은 예제 감사합니다.

마지막 order by의 명시된 칼럼이 드라이빙 테이블인 경우 && 인덱스가 아닌경우 의 경우가 책에서 말한 유일하게 조인이 있음에도 임시 테이블이 필요하지 않은 조인의 드라이빙 테이블만 정렬 하는 경우가 되겠군요

추가로 인덱스가 2개 이상 칼럼으로 구성되어 있을 때 order by에서 인덱스를 구성하는 첫번째 칼럼이 아닌 칼럼부터 지정하면 어떻게 되는지도 궁금해서 해봤습니다.

인덱스 구성

image

인덱스가 2개의 칼럼으로 구성 && order by에서 인덱스 구성 칼럼의 두번째 칼럼만을 지정

image

인덱스가 2개의 칼럼으로 구성 && order by에서 인덱스 구성 순서와 반대로 지정

image

인덱스가 2개의 칼럼으로 구성 && order by에서 인덱스 구성 순서대로 지정

image

인덱스가 2개의 칼럼으로 구성 && order by에서 인덱스를 구성하는 첫번째 칼럼만 지정

image
gmelon commented 10 months ago
image image image
gmelon commented 10 months ago

1 b 1 c 2 a 2 d ...