편집 기록

편집 기록
  • 프로필 엽토군님의 편집
    날짜2020.09.10

    SQL 부정형 조건 비교에서 인덱스 사용불가 회피하기 위한 문제에 대해 질문드립니다.


    안녕하세요 ~

    SQL 부정형 조건을 사용하면 인덱스 사용이 불가능 하다고 하는데요

    SELECT * FROM EMP WHERE EMPNO != 30 -- 인덱스 사용불가
    SELECT * FROM EMP WHERE EMPNO < 30 AND EMPNO > 30 -- 인덱스 사용가능
    

    이 경우는 EMPNO라는 컬럼이 Integer이기 때문에 범위 지정으로 활용 할 수 있다지만.
    Varchar 컬럼형일 경우에는 어떻게 회피해야 하나요?

    SELECT * FROM EMP WHERE EMPNAME != '홍길동' -- 이런 상황에서는 어떻게 회피해야 하는가요?
    

    답변 감사드립니다.

  • 프로필 CharmingTree님의 편집
    날짜2020.09.10

    SQL 부정형 조건 비교에서 인덱스 사용불가 회피하기 위한 문제에 대해 질문드립니다.


    안녕하세요 ~

    SQL 부정형 조건을 사용하면 인덱스 사용이 불가능 하다고 하는데요

    EX) SELECT * FROM EMP WHERE EMPNO != 30 // 인덱스 사용불가 EX) SELECT * FROM EMP WHERE EMPNO < 30 AND EMPNO > 30 // 인덱스 사용가능

    이 경우는 EMPNO라는 컬럼이 Integer 이기 때문에 범위 지정으로 활용 할 수 있다지만. Varchar 컬럼형일 경우에는 어떻게 회피해야 하나요?

    EX) SELECT * FROM EMP WHERE EMPNAME != '홍길동' // 이런 상황에서는 어떻게 회피해야 하는가요?

    답변 감사드립니다.