실행 계획에 출력되는 table
칼럼의 값은 데이터를 읽어온 테이블을 의미한다.
FROM
절이 없이 실행이 되는 쿼리는 테이블이 입력되지 않는데 이런 경우는 어떻게 될까? table
칼럼에 NULL 값이 들어온다.
table
칼럼에 간혹 <derived N>
처럼 표기되는 경우도 있는데 이렇게 <>
로 감싸진 경우에는 임시 테이블을 의미한다.
- <derived N> 에서 의미하는 N 은 실행 계획에 있는 id 칼럼의 값을 의미한다. 해당 id 값을 가진 SELECT 절로부터 파생된 임시 테이블이라는 뜻이다.
(id
, selected_type
, table
) 칼럼 정도를 이용해서도 나름 실행 순서를 예측해볼 수 있다. 예시로 다음 실행 계획을 보자:
- 실행 계획 첫 번째 행에서
table
칼럼을 보면<derived2>
라고 되어있다. 이것으로 보아id
칼럼의 값이 2인 실행 계획의 행이 먼저 실행되고 이로 인한 임시 테이블을 참고하고 있다는 사실을 알 수 있다. - 그리고 첫 번째 행과 두 번째 행의
id
칼럼이 같은 것으로 보아 조인을 하는 작업인 걸 알 수 있다. 이 경우에는 위의 행이 드라이빙 테이블이고 아래의 행이 드리븐 테이블이 되서 처리된다.
'MySQL' 카테고리의 다른 글
MySQL 실행 계획 분석: possible_keys 칼럼 (0) | 2023.11.07 |
---|---|
MySQL 실행 계획 분석: partitions 칼럼 (0) | 2023.11.07 |
MySQL 실행 계획 분석: id 칼럼 (0) | 2023.11.07 |
MySQL 실행 계획 분석: seleted_type 칼럼 (0) | 2023.11.07 |
MySQL 실행 계획 분석: Extra 칼럼 (0) | 2023.11.05 |