NOT IN -> LEFT JOIN

유영·2025년 6월 9일
0

MYSQL

목록 보기
26/26
AND r.car_serial_num NOT IN (
  SELECT car_serial_num 
  FROM contract_info c 
  WHERE c.regdate < r.regdate
)

이 구문은 상관 서브쿼리이기 때문에, row마다 서브쿼리를 실행하게 되어 매우 느립니다.

대체 방법:

LEFT JOIN 
contract_info ci_old   
ON ci_old.car_serial_num = r.car_serial_num 
AND ci_old.regdate < r.regdate
WHERE ci_old.car_serial_num IS NULL```

0개의 댓글