RDBMS

[MySQL] B-Tree index를 사용할 수 없는 조건들

Wanderer Kim 2025. 5. 29. 23:46
반응형

B-Tree index를 작업 범위 결정 조건으로 사용할 수 없는 조건들

  • 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 '%??' (앞부분이 아닌 뒷부분 일치) 형태로 문자열 패턴이 비교된 경우
    • WHERE column LIKE '%호섭%'
    • WHERE column LIKE '_호섭'
  • 스토어드 함수나 다른 연산자로 인덱스 컬럼이 변현된 후 비교된 경우
    • WHERE SUBSTRING(column, 1, 1) = 'X'
  • NOT-DETERMINISTIC 속성의 스토어드 함수가 비교 조건에 사용된 경우
  • 데이터 타입이 서로 다른 비교
    • WHERE char_column=10
  • 문자열 데이터 타입의 콜레이션이 다른 경우
    • WHERE utf8_bin_char_column = euckr_bin_char_column
728x90