오라클 디비 사용시 서브쿼리시 주의할점! > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

오라클 디비 사용시 서브쿼리시 주의할점! 정보

기타 오라클 디비 사용시 서브쿼리시 주의할점!

본문

오라클 디비를 사용할때 간간히 서브 쿼리를 사용한다
 
SELECT * FROM employees
WHERE job_id = (SELECT job_id FROM jobs WHERE job_title = 'Sales Manager');
식으로 되어 있을때
서브 쿼리 SELECT job_id FROM jobs WHERE job_title = 'Sales Manager' 값이 kkk 라고 하면
 
SELECT * FROM employees
WHERE job_id = 'kkk';
라고 생각하기 쉽다
 
그러나 이거는 db엔진 마음이다
 
보통은
SELECT * FROM employees
WHERE job_id = 'kkk';
처럼 작동한다
 
그러나 후자가 될때는
job_id를 검색할때마다 서브쿼리를 돌린다
거디다 실수로 서브쿼리에 index 처리 마저 안했다면 ㅡㅜ
전 그런 사이트를 본적이 있었습니다
하하하^^ 속도 느려지는게 예술입니다
쓰신다음 대략적인 속도 한번 확인해 보세요. 
 
 
추천
1
  • 복사

댓글 1개

그래서 강제로 hint  를 주지 않나요?
오라클 쿼리 해본지 백만년 된 1인..
where in 쿼리는 oracle에서 좋지 않은 방법이라고 배웠었던거 같습니다.
exist가 가능하면 그걸로 바꿔서 쓰는 형태가 좋다고..
© SIRSOFT
현재 페이지 제일 처음으로