Select tables optimized away

Ilyoung Hwang·2022년 2월 21일
0

MIN() 또는 MAX() 만 SELECT 절에 사용되거나 또는 GROUP BY 로 MIN(), MAX()를 조회하는 쿼리가 적절한 인덱스를 사용할 수 없을때 인덱스를 오름차순 또는 내림차순으로 1건만 읽는 형태의 최적화이다.


  1. paimary key(emp_no)
SELECT MAX(emp_no), MIN(emp_no) FROM employees;

  1. paimary key(emp_no, from_date)
SELECT MAX(from_date), MIN(from_date) FROM salaries WHERE emp_no = 10001;

1 번째 쿼리는 employees 테이블에 emp_no 컬럼이 인덱스로 생성되어 있으므로 최적화가 가능하다.

2 번째 쿼리는 salaries 테이블에 emp_no, from_date 컬럼이 인덱스로 생성되어 있으므로 인덱스가 emp_no = 10001 인 레코드를 검색하고, 검색된 결과 중에서 오름차순 또는 내름차순으로 하나만 조회하면 되는 최적화 방법이다.

0개의 댓글