일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 리트코드215
- B*Tree인덱스구조
- heapq
- 데이터모델링
- db
- 오라클튜닝
- index fast full scan
- table full scan
- B*Tree
- SQL튜닝의시작
- 클린코드
- 결합인덱스구조
- database
- intellij
- 조인
- SQLP
- SQLD
- 클린 코드
- 파이썬
- 친절한SQL튜닝
- 로버트C마틴
- join
- 알고리즘
- Oracle
- clean code
- 리눅스
- B*Tree인덱스
- leetcode215
- 오라클
- RAC
- Today
- Total
목록Database/SQLP (12)
개발노트

기본 메커니즘 1. build 단계 : 작은 쪽 테이블(build input)을 읽어 해시 테이블(해시 맵)을 생성한다. 2. probe 단계 : 큰 쪽 테이블(probe input)을 읽어 해시 테이블을 탐색하면서 조인한다. * use_hash 힌트로 해시조인을 유도한다. SQL 수행과정 SELECT /*+ ordered use_hash(E) */ E.EMPNO, E.ENAME, E.SAL, D.DNAME FROM DEPT D INNER JOIN EMP E ON D.DEPTNO = E.DEPTNO AND E.SAL > 1500 AND E.JOB = 'SALESMAN' WHERE D.DNAME = 'SALES' ; Execution plan -----------------------------------..
PGA 오라클 서버 프로세스는 SGA 에 공유된 데이터를 읽고 쓰면서, 동시에 자신만의 고유 메모리 영역 PGA 를 갖는다. PGA 는 프로세스에 종속적인 고유 데이터를 저장하는 용도로 사용한다. 할당받은 PGA 공간이 작아 데이터를 모두 저장할 수 없을 때는 Temp 테이블스페이스를 이용한다. * temp tbs 는 물리적 disk 형태로 존재한다. PGA 는 다른 프로세스와 공유하지 않는 메모리 공간으로, 래치 메커니즘이 불필요하다. → 같은 양의 데이터를 읽더라도 SGA 버퍼캐시에서 읽을 때보다 훨씬 빠르다. Sort Merge Join 기본 메커니즘 이름이 의미하는 것처럼 2단계로 진행한다. 1. 소트 단계 : 양쪽 집합을 조인 컬럼 기준으로 정렬한다. 2. 머지 단계 : 정렬한 양쪽 집합을 서로..
SQL 트레이스를 통해 수집한 CALL 통계 정보 disk : 디스크에서 물리적으로 읽은 블록 개수 query + current : DB 버퍼 캐시에서 읽은 총 블록 개수 query : consistent 모드로 읽은 블록수(db buffer cache 에서 쿼리 scn 시점보다 작거나 같은 데이터 블록을 찾아 읽음) current : current 모드로 읽은 블록 수(db buffer cache 에 저장된 가장 최근 업데이트 된 데이터 블록을 읽음) mvcc(multi-version concurrency control) 모델 current 모드 : 디스크에서 db 버퍼 캐시로 적재된 원본 블록을 현재 상태 그대로 읽는 방식 consistent 모드 : 쿼리 SCN 과 블록 SCN 을 비교해서 쿼리가 ..
NL 조인 특징 요약 1. 랜덤 액세스 위주의 조인 방식 *랜덤 액세스는 레코드 하나를 읽기 위해 블록을 통째로 읽는다. 2. 조인을 한 레코드씩 순차적으로 진행 → 부분범위 처리가 가능, Driving 테이블 처리 범위에 따라 전체 일량 결정 3. 인덱스 구성 전략이 중요 따라서, NL 조인은 소량 데이터를 주로 처리하거나, 부분범위 처리가 가능한 온라인 트랜잭션 처리(OLTP) 시스템에 적합한 조인 방식이라고 할 수 있다. 기본 메커니즘 NL JOIN = Nested Loop Join SELECT E.사원명, C.고객명, C.전화번호 FROM 사원 E, 고객 C WHERE E.입사일자 >= '19960101' AND C.관리사원번호 = E.사원번호 사원 : Outer Table, Driving Tab..