inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법

Non-SARG, 불필요한 열/행 참조, Index 열에 부정형 사용 주의

부정형을 쓰지 않는다면

해결된 질문

298

헤이호

작성한 질문수 5

0

부정형을 사용하지 않는 다면

 

where age <> '19'

라고 작성하는 대신 애초에 작성할 때 

where age <19 OR age >19 

로 작성을 하는 게 좋다라는 말씀이신가요?

 

DBMS/RDBMS sql

답변 1

1

김정선SQL

안녕하세요 헤이호님,

해당 주제를 여러 번 들어보시면 더 이해에 도움이 되실겁니다.

강의에서 말씀드린대로, (비지니스상) 필요하면 부정형 써야죠. 다만 인덱스 열 (특히 첫 번째 열)에 = 조건으로 가능한데 !=를 사용하거나 NOT IN을 쓰거나 등의 불필요한 부정형을 쓰지 않는 것이 좋다는 내용입니다.

설명은 그렇게 부정형을 썼을 때 그렇지 않은 경우(ex, 위에서 말씀드린 = 조건)에 상대적으로 인덱스를 정상적으로 사용하지 못하거나 인덱스 검색 성능이 크게 떨어질 수도 있습니다.

도움이 되시면 좋겠습니다.

김정선 드림

 

BETWEEN과 부등호 질문

0

59

1

강의 연장 요청 드립니다.

0

71

2

샘플 쿼리 관련 문의드립니다.

1

102

2

강의 연장 신청 입니다.

0

123

2

선생님 이 강좌연장도요!

0

116

2

강의 연장 질의

0

106

2

USE EPlanHeap 구문 실행 오류

0

120

1

강의 연장 여부 질문

0

116

2

강의연장 질의

0

125

2

13:57 쿼리실행화면 차이점

0

184

1

부록 영상 질문

0

176

1

섹션2 조건절 상수화 이슈(로컬변수, 사용자정의함수), 테이블 변수 최적화 이슈

0

203

2

쿼리 튜닝 관련 강의는 ..

0

218

1

메시지 창 관련 문의

0

159

1

초기 세팅

0

218

1

강의 연장 신청

0

523

2

강의 연장 신청합니다

0

435

1

강의연장 신청합니다

0

768

2

강의 연장 가능할까요

0

327

1

복습 자료

0

304

1

JION을 이용한 중복 IO 제거 사례 강의 관련 문의

0

343

1

강의 연장 가능할까요?

0

416

1

'(부록)MySQL(MariaDB)과 PostgreSQL에서 실행계획과 인덱스 사용 확인' 별첨은 어디에 있나요?

0

471

1

기한이

0

378

1