inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

부정형을 쓰지 않는다면

해결된 질문

304

동그란 펭귄

작성한 질문수 0

0

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

 

where age <> '19'

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

where age <19 OR age >19 

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

 

DBMS/RDBMS sql

답변 1

1

김정선SQL

안녕하세요 헤이호님,

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

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

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

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

김정선 드림

 

BETWEEN과 부등호 질문

0

74

1

강의 연장 요청 드립니다.

0

82

2

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

1

118

2

강의 연장 신청 입니다.

0

138

2

선생님 이 강좌연장도요!

0

130

2

강의 연장 질의

0

115

2

USE EPlanHeap 구문 실행 오류

0

131

1

강의 연장 여부 질문

0

122

2

강의연장 질의

0

132

2

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

0

192

1

부록 영상 질문

0

182

1

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

0

212

2

쿼리 튜닝 관련 강의는 ..

0

226

1

메시지 창 관련 문의

0

164

1

초기 세팅

0

223

1

강의 연장 신청

0

528

2

강의 연장 신청합니다

0

444

1

강의연장 신청합니다

0

782

2

강의 연장 가능할까요

0

334

1

복습 자료

0

309

1

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

0

348

1

강의 연장 가능할까요?

0

424

1

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

0

479

1

기한이

0

384

1