반응형

IT/SQLP 5

[오라클 DB조인] NL조인(Nested Loop)의 원리 및 사용방법(힌트, 플랜)

1. NL 조인의 개념Nested(중첩된) Loop(루프)의 뜻으로 아주 간단하게는 중첩된 반복으로, 흔히 이중 포문의 형태를 띄고 있다. 2. NL조인의 동작 원리앞서 이중 포문의 형태를 띄고 있다고 말하였는데,  비유하여 설명하자면 (아래 그림과 같이 확인 필요)1) 바깥포문(외부테이블 : 사원_X1 테이블)에서 조건(선택조건 : 입사일자>="19960101" and 부서코드="Z123")에따라 하나의 결과값을 안쪽포문으로 전달(사원번호 전달) 2) 안쪽포문(내부테이블 : 고객_X1 테이블)로 들어와,내부의 모든 건수를 확인(선택조건:관리사원번호와 최종주믄금액>=20000) 3) 조건을 만족하여 출력 집합에 포함 4) 바깥 포문을 다 확인할때까지 1)~3)을 계속 반복 위의 과정을 생각하면서 아래의 ..

IT/SQLP 2025.03.21

[오라클 DB조인] 서브쿼리 조인의 원리 및 사용방법(힌트 및 플랜 확인)

1. 서브쿼리의 개념서브쿼리란 하나의 쿼리문에서 별도로 사용되고 있는 쿼리 블록을 의미힌다.즉, 쿼리에 내장된 또 다른 쿼리문이라고 볼 수 있다. 내장된 쿼리문의 위치에 따라 다음과 같이 이름이 불리우게 된다.  ㅇ 스칼라 서브쿼리  : 하나의 레코드당 정확하게 하나의 값을 반환하는 서브 쿼리 (주로 select절에 사용 )ㅇ 인라인 뷰 : FROM절에 사용ㅇ 중첩된 서브쿼리 : wHERE절에 사용  위의 쿼리들은 조인을 실행시 해당 쿼리문에서 바로바로 플랜을 형성하지 못한다.쿼리의 최종 실행단계의 과정에서 옵티마이저는 쿼리를 다양한 형태로 변화시킨후에 최적의 실행계획을 찾아낸다.그렇기 때문에 서브쿼리 조인을 이해하기 위해서는 쿼리 변환에서부터 찾기 시작해야 하지만, 해당 내용은 복잡하니 추후 다시한번 ..

IT/SQLP 2025.03.21

[오라클 DB조인] 해시 조인(Hash Join)의 원리와 사용방법(힌트 및 플랜확인)

1. 해시 조인의 개념해시 조인은 소트머지 조인처럼 2단계로 진행이 된다Build 단계 : 작은 쪽 테이블(Build Input)을 읽어 해시 테이블(해시 맵)을 생성Probe 단계 : 큰 쪽 테이블(Probe Input)을 읽어 해시 테이블을 탐색하면서 조인 해시 조인이 사용되는 상황으론1) 대량 데이터를 조인할 떄 사용됨(조인 조건이 등치(=) 조건일 떄만 사용가능) 2. 해시 조인의 동작원리해시 조인의 동작원리는 단순히 글로만 적기엔 이해가 힘들 수 있으므로,아래의 쿼리를 기반으로 적어보려고 한다.더보기select /*+ ordered use_hash(c) */ e.사원번호, .e,사원명, e.입사일자 c.고객번호, c.고객명, c.전화번호, c.최종주문금액FROM 사원 e, 고객 c..

IT/SQLP 2025.03.21

[오라클 DB조인] 소트 머지 조인(sort Merge Join)의 원리 및 사용방법(힌트 및 플랜 확인)

1. 소트 머지 조인의 개념이름 그대로 소트단계, 머지단계 2단계를 거치는 조인 개념이다.소트단계 : 양쪽의 집합을 각각 조인 컬럼 기준으로 Sort한다.머지단계 : 이미 정렬한 양쪽 집함을 서로 Merge한다 소트머지 조인이 사용되는 상황으론1)조인 컬럼에 인덱스가 없을떄,2)대량 데이터 조인이라 인덱스가 효과를 발휘하지 못할 때등이 있다.2. 소트 머지 조인의 동작원리 위의 그림에서 살펴보겠다.1) 위의 그림에서처럼 dept 테이블과 emp테이블을 deptNo컬럼기준으로 정렬한다..그럼 2개의 테이블이 deptno기준으로 정렬됐음을 확인가능.2) deptno값이 10인 값을 찾고자 할 때emp 테이블에서 deptno값이 10인 값을 찾기위해선 10보다 큰수를 만나면 바로 검색을 중간에서 멈..

IT/SQLP 2025.03.21

[데이터 생성] 오라클 DB 데이터 생성 쿼리모음(테이블,인덱스,데이터 등)

오라클 및 디벨로퍼는 설치 했는데, 데이터 만들기가 귀찮아서 직접 테스트 해보지 않은 분들을 위하여 아래의 쿼리로 데이터를 만들어서 직접 테스트해보세요~ 우선적으로 sys권한으로 접속하여 아래의 권한들 부여(SYS권한접속은 아래글 참조)2025.03.13 - [기타] - [오라클 설치] 데이터베이스 공부 전 오라클DB 무료버전인 Express Edition(XE) 설치 [오라클 설치] 데이터베이스 공부 전 오라클DB 무료버전인 Express Edition(XE) 설치SQLD 혹은 SQPL 공부를 하려면 내 컴퓨터에는 무조건 오라클이 설치되어 있어야 실전 연습도 할 수 있겠죠그래서 오라클 무료 버전을 설치 진행하도록 하겠습니다(설치 컴퓨터 : 윈도우) 그 이전chobo-fafa.tistory.com  ㅇ ..

IT/SQLP 2025.03.20
반응형