소트와 관련된 오퍼레이션 유형 |
1. Sort Aggregate
: 전체 로우를 대상으로 집계를 수행할 때 나타나며, Oracle 실행걔획에 sort라는 표현이 사용됐지만 실제 소트가 발생하진 않는다.
2. Sort Order by
: 정렬된 결과 집합을 얻고자 할 때 나타난다.
3. Sort Group by
: Sorting 알고리즘을 사용해 그룹별 집계를 수행할 때 나타난다.
4. Sort Unique
: 선택된 결과 집합에서 중복 레코드를 제거하고자 할 때 나타난다. Union 연산자나 Distinct 연산자를 사용할 때가 대표적이다.
5. Sort Join
: Sort Merge Join을 수행할 때 나타난다.
6. Window Sort
: 윈도우 함수를 수행할 때 나타난다.
Oracle에서 Direct Path Insert 방식으로 데이터를 입력하는 방법 |
- insert select 문장에 /*+ append */ 힌트 사용
- 병렬 모드로 insert
- direct 옵션을 지정하고 SQL *Loader(sqlldr)로 데이터를 로드
- CTAS(Create Table .. As Select) 문장을 수행
대용량 데이터의 Updata와 Delete시 성능이 오래걸리는 이유 |
- 테이블 데이터를 갱신하는 본연의 작업이 느리기 때문
- 인덱스 데이터까지 갱신하느라 느려짐
- 버퍼 캐시에 없는 블록을 디스크에 읽어 버퍼 캐시에 적재한 후에 갱신하는 작업이 필요
- 내부적으로 Redo와 Undo 정보 생성하는 과정으로 인해
- 블록에 빈 공간이 없으면 새 블록 할당(→ Row Migration 발생)하기 때문에
파티셔닝이 필요한 이유 |
- 관리적 측면
: 파티션 단위 백업, 추가 삭제, 변경
- 성능적 측면
: 파티션 단위 조회 및 DML 수행, 경합 및 부하 분산
배치 프로그램의 특징 |
- 사용자와의 상호작용 없음
- 대량의 데이터를 처리
- 일련의 작업들을 묶어 놓은 것
- 정기적으로 반복 수행 됨
- 정해진 규칙에 따라 자동으로 수행됨
pq_distribute 힌트 |
- pq_distribute 힌트를 사용함으로써 옵티마이저의 선택을 무시하고 사용자가 직접 조인을 위한 데이터 분배 방식을 결정할 수 있다.
1) 옵티마이저가 파티션 된 테이블을 적절히 활용하지 못하고 동적 재분할을 시도할 때
2) 기존 파티션 키를 무시하고 다른 키 값으로 동적 재분할을 하고 싶을 때
3) 통계정보가 부정확하거나 통계정보를 제공하기 어려운 상황(→ 옵티마이저가 잘못된 판단을 하기 쉬운 상황)에서 실행계획을 고정시키고자 할 때
4) 기타 여러가지 이유로 데이터 분배 방식을 변경하고자 할 때
'책과 부동산과 주식이야기' 카테고리의 다른 글
지금이 방어철. 겨울 방어의 효능과 특징 (0) | 2023.12.27 |
---|---|
달라지는 2023 연말정산 일정과 연말정산 총정리 (0) | 2023.12.27 |
(SQLP SQLD 핵심 정리 9) 인덱스와 조인 (0) | 2023.12.25 |
(SQLP SQLD 핵심 정리 8) 옵티마이저의 원리 (0) | 2023.12.25 |
(SQLP SQLD 핵심 정리 7) LOCK과 트랜잭션 동시성 제어 (0) | 2023.12.24 |