MIN() 또는 MAX() 만 SELECT 절에 사용되거나 또는 GROUP BY 로 MIN(), MAX()를 조회하는 쿼리가 적절한 인덱스를 사용할 수 없을때 인덱스를 오름차순 또는 내림차순으로 1건만 읽는 형태의 최적화이다.
SELECT MAX(emp_no), MIN(emp_no) FROM employees;
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
인 레코드를 검색하고, 검색된 결과 중에서 오름차순 또는 내름차순으로 하나만 조회하면 되는 최적화 방법이다.