ccc
1k
2019-07-11 19:34:52
4
225

RDB 인덱스 조회 여부


id 컬럼이 인덱스로 정의 되어 있을때

쿼리를 아래와 같이 작성할 경우 인덱스를 탈까요?

아니면 옵티마이저 설정에 따라 다를까요?

저는 탈거라고 생각되는데 인터넷 검색 글을 보니 첫번째 컬럼에 따라 인덱스를 탈지 안탈지 결정된다는 글이 있네요.

복합인덱스만 말하는건가...

sql = select * from test where 1=1 and id = '1'

0
0
  • 댓글 4

  • ccc
    1k
    2019-07-11 19:45:51

    옵티마이저 설정은 안봤지만 실행계획을 보니 타는군요.

    0
  • 초무쿤
    2k
    2019-07-11 19:47:40 작성 2019-07-11 19:48:37 수정됨

    탑니다.

    1 = 1 구문은 논리적으로 제외됩니다. 

    0
  • 모모
    161
    2019-07-12 09:45:38

    요즘나오는 DBMS 들은 룰베이스가 아니기때문에

    무조건 ~~ 다는 없는걸로 알고있습니다.

    레인지스캔 타입을 기대한다고해도 양이 너무많으면 옵티마이저 판단하에 풀테이블 스캔도합니다.

    0
  • 시빛
    253
    2019-07-12 13:08:06

    물론 타죠. where절이 많아서 어떤 인덱스를 탈지 모르는 상황이 아니라면 1=1이 영향을 끼치진 않습니다.

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.