오라클 디비를 사용할때 간간히 서브 쿼리를 사용한다
SELECT * FROM employees
WHERE job_id = (SELECT job_id FROM jobs WHERE job_title = 'Sales Manager');
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';
WHERE job_id = 'kkk';
라고 생각하기 쉽다
그러나 이거는 db엔진 마음이다
보통은
SELECT * FROM employees
WHERE job_id = 'kkk';
WHERE job_id = 'kkk';
처럼 작동한다
그러나 후자가 될때는
job_id를 검색할때마다 서브쿼리를 돌린다
거디다 실수로 서브쿼리에 index 처리 마저 안했다면 ㅡㅜ
전 그런 사이트를 본적이 있었습니다
하하하^^ 속도 느려지는게 예술입니다
쓰신다음 대략적인 속도 한번 확인해 보세요.
댓글 1개
14년 전
그래서 강제로 hint 를 주지 않나요?
오라클 쿼리 해본지 백만년 된 1인..
where in 쿼리는 oracle에서 좋지 않은 방법이라고 배웠었던거 같습니다.
exist가 가능하면 그걸로 바꿔서 쓰는 형태가 좋다고..
오라클 쿼리 해본지 백만년 된 1인..
where in 쿼리는 oracle에서 좋지 않은 방법이라고 배웠었던거 같습니다.
exist가 가능하면 그걸로 바꿔서 쓰는 형태가 좋다고..
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 30 |
아우겐나이스
|
21년 전 | 4113 | |
| 29 |
아우겐나이스
|
21년 전 | 4486 | |
| 28 |
아우겐나이스
|
21년 전 | 3511 | |
| 27 | 21년 전 | 5892 | ||
| 26 | 21년 전 | 3168 | ||
| 25 | 21년 전 | 6146 | ||
| 24 | 18년 전 | 3704 | ||
| 23 | 21년 전 | 3698 | ||
| 22 | 21년 전 | 4286 | ||
| 21 | 21년 전 | 3877 | ||
| 20 | 21년 전 | 4284 | ||
| 19 | 21년 전 | 6732 | ||
| 18 | 21년 전 | 4779 | ||
| 17 | 21년 전 | 7024 | ||
| 16 | 21년 전 | 4218 | ||
| 15 | 21년 전 | 2681 | ||
| 14 | 21년 전 | 5015 | ||
| 13 | 21년 전 | 3440 | ||
| 12 |
Recluse
|
21년 전 | 3919 | |
| 11 |
아우겐나이스
|
21년 전 | 3600 | |
| 10 |
Recluse
|
21년 전 | 3443 | |
| 9 | 21년 전 | 4060 | ||
| 8 | 21년 전 | 5232 | ||
| 7 | 21년 전 | 4807 | ||
| 6 | 21년 전 | 5757 | ||
| 5 | 21년 전 | 4164 | ||
| 4 | 21년 전 | 4900 | ||
| 3 | 21년 전 | 4786 | ||
| 2 | 21년 전 | 3291 | ||
| 1 | 22년 전 | 4383 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기