- 작업 범위 결정 조건으로 사용할 수 없는 경우
- NOT-EQUAL로 비교된 경우(<>, NOT IN, NOT BETWEEN, IS NOT NULL)
- WHERE column <> ‘N’
- WHERE column NOT IN (10, 11, 12)
- WHERE column IS NOT NULL
- LIKE %xx 형태로 문자열 패턴이 비교된 경우
- WHERE column LIKE ‘%승환’
- WHERE column LIKE ‘_승환’
- WHERE column LIKE ‘%승%’
- 스토어드 함수나 다른 연산자로 인덱스 컬럼이 변형된 경우
- WHERE SUBSTRING(column, 1, 1) = ‘X’
- WHERE DAYFOFMONTH(column) = 1
- NOT-DETERMINISTIC 속성의 스토어드 함수가 비교 조건에 사용된 경우
- WHERE column = deterministic_function()
- 데이터 타입이 서로 다른 비교(타입을 바꿔야 비교가 가능한 경우)
- WEHRE char_column = 10
- 문자열 데이터 타입의 콜레이션이 다른 경우
- WHERE utf8_bin_char_column = euckr_bin_char_column
- 다중 컬럼인 경우에서 작업 범위 결정 조건
- 다중 컬럼 예시(column_1, column_2, column3, … column N)
- 작업 범위 결정 조건으로 인덱스를 사용하지 못하는 경우
- column_1 칼럼에 대한 조건이 없는 경우
- column_1 칼럼의 비교 조건이 인덱스 사용 불가 조건 중 하나인 경우(NOT IN 등)
- 작업 범위 결정 조건으로 인덱스를 사용하는 경우
- column_1 ~ column_N 칼럼까지 동등 비교 형태(’=’ or ‘IN’)로 비교
- column_1 칼럼에 대해 다음 연산자로 비교
- 동등 비교(’=’ or ‘IN’)
- 크다 작다 형태(’>’ or ‘<’)
- LIKE로 좌측 일치 패턴(LIKE ‘승환%’)