처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈

SQL에서 EXISTS와 IN 연산자의 성능 차이에 대한 설명으로 올바른 것은?

어려움 Stack Overflow
보기 및 정답
A 서브쿼리 결과가 크면 EXISTS가, 서브쿼리 결과가 작으면 IN이 일반적으로 더 효율적이다
B EXISTS는 언제나 항상 전체 테이블 스캔을 수행하므로 IN 연산자보다 처리 속도가 훨씬 느리다
C IN 연산자는 내부적으로 해시 조인을 사용하므로 어떤 경우에도 EXISTS보다 빠르다
D 두 연산자는 동일한 실행 계획을 생성하므로 성능 차이가 전혀 발생하지 않는다

해설

EXISTS는 서브쿼리에서 일치하는 행을 하나만 찾으면 즉시 멈추므로(단락 평가), 서브쿼리 결과가 클 때 유리합니다. IN은 서브쿼리 결과 전체를 가져와 비교하므로 결과가 작을 때 효율적입니다. 또한 EXISTS는 NULL 값 처리에서 IN보다 예측 가능한 결과를 줍니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기