현재 선택한 SQL 과정

SQLP 이론 학습

SQLP 이론 학습

개념이 연결되는 이론 학습

과목과 소분류를 선택해 핵심 개념을 찾아보세요. 모든 이론은 로그인 없이 읽을 수 있습니다.

122개 이론SQL 고급 활용 및 튜닝
01
3과목데이터베이스 아키텍처

Oracle 아키텍처 입문: Database·Instance·Startup 단계

Database, Instance, Server Process를 물리 파일·실행 환경·사용자 요청 처리자로 구분합니다.

#Database#Instance#CDB
이론 읽기 →
02
3과목데이터베이스 아키텍처

Oracle 메모리 구조: SGA·PGA·UGA와 Workarea

Instance 공유 영역인 SGA와 Oracle Process 전용 영역인 PGA를 사용 목적과 구성 요소로 비교합니다.

#SGA#PGA#UGA
이론 읽기 →
03
3과목데이터베이스 아키텍처

Oracle 프로세스 구조: Server Process·DBWn·LGWR·CKPT

사용자 SQL 처리와 데이터 기록·복구를 담당하는 핵심 Process의 책임을 구분합니다.

#Server Process#Dedicated Server#Shared Server
이론 읽기 →
04
3과목데이터베이스 아키텍처

접속 아키텍처: Listener·Service·Session·Dedicated·Shared Server

Connection, Session, Listener, Server Process의 관계와 Connection Pool의 비용 절감 원리를 이해합니다.

#Connection#Session#Listener
이론 읽기 →
05
3과목SQL 처리 과정

SQL 처리 과정의 전체 흐름: Parse부터 Execute·Fetch까지

SQL이 Parse, 최적화, Row Source 실행과 Fetch를 거치는 전체 흐름을 단계별로 연결합니다.

#SQL 처리 과정#Parse#Hard Parse
이론 읽기 →
06
3과목SQL 파싱과 최적화

Shared Pool과 SQL Parsing: Library Cache·Soft Parse·Hard Parse

Shared Pool의 Dictionary·Library Cache와 Parse Lock·Pin을 구분하고 Hard Parse 및 객체 무효화 비용을 이해합니다.

#Shared Pool#Library Cache#Dictionary Cache
이론 읽기 →
07
3과목옵티마이저

옵티마이저 입문: SQL의 실행 방법을 결정하는 원리

같은 결과를 더 적은 I/O·Call·Sort·반복으로 만드는 SQL 최적화의 기본 흐름을 옵티마이저 추정과 실제 실행 통계로 연결합니다.

#SQL Optimizer#Cost Based Optimizer#Query Transformer
이론 읽기 →
08
3과목옵티마이저

CBO의 판단 과정: Query Transformer·Estimator·Plan Generator

Query Transformer가 표현을 바꾸고 Estimator가 Cardinality·Cost를 추정한 뒤 Plan Generator가 후보 실행계획을 비교합니다.

#CBO#Query Block#Query Transformer
이론 읽기 →
09
3과목실행계획

실행계획 읽기 기초: Row Source Tree와 예상·실제 계획

EXPLAIN PLAN의 예상 계획과 DISPLAY_CURSOR의 실제 Cursor 계획을 구분하고 Starts·E/A-Rows·Buffers를 아래에서 위로 읽습니다.

#Execution Plan#Row Source Tree#DBMS_XPLAN
이론 읽기 →
10
3과목실행계획

예상 실행계획 확인: EXPLAIN PLAN·PLAN_TABLE·AUTOTRACE

PLAN_TABLE에 예상 계획을 저장·출력하고 AUTOTRACE의 실행 여부·결과·통계 옵션을 구분해 안전하게 사용합니다.

#EXPLAIN PLAN#PLAN_TABLE#SYS.PLAN_TABLE$
이론 읽기 →
11
3과목통계정보

옵티마이저 통계의 기초: Table·Column Statistics 읽기

NUM_ROWS·BLOCKS와 NDV·NULL·Low/High·Histogram이 기본 Cardinality와 값별 Selectivity 추정에 미치는 영향을 이해합니다.

#Optimizer Statistics#Table Statistics#Column Statistics
이론 읽기 →
12
3과목통계정보

Selectivity·Cardinality·Cost: 통계 추정과 Plan 선택 진단

조건 만족 비율에서 Row 수와 Plan Cost로 이어지는 CBO 계산 흐름과 오차 원인을 학습합니다.

#Selectivity#Cardinality#Cost
이론 읽기 →
13
3과목SQL 성능 문제 진단

SQL 작업량의 기초: Logical I/O·Physical I/O와 읽기 방식

Buffer Gets와 Physical Read를 구분하고 Single·Multiblock, Prefetch, Direct Path I/O의 선택 조건을 이해합니다.

#Logical I/O#consistent gets#db block gets
이론 읽기 →
14
3과목데이터베이스 아키텍처

DB Buffer Cache 내부 동작: Hash 탐색·Buffer 상태·Hot Block 진단

Buffer Cache의 Hash 탐색, 교체, Buffer 상태와 CBC·buffer busy waits 경합을 하나의 흐름으로 이해합니다.

#Database Buffer Cache#Buffer Header#Data Block Address
이론 읽기 →
15
3과목실행계획

실제 실행 통계 읽기: GATHER_PLAN_STATISTICS와 E-Rows·A-Rows

예상 Cardinality와 실제 Row Source 수행량을 비교해 최초로 어긋난 Plan 단계를 찾습니다.

#GATHER_PLAN_STATISTICS#STATISTICS_LEVEL#ALLSTATS LAST
이론 읽기 →
16
3과목SQL 파싱과 최적화

Parent·Child Cursor 이해와 진단: SQL_ID·VERSION_COUNT·V$SQL_SHARED_CURSOR

Parent와 Child Cursor를 구분하고 Version Count 증가 및 공유 실패 원인을 진단합니다.

#Parent Cursor#Child Cursor#SQL_ID
이론 읽기 →
17
3과목데이터베이스 Call 최소화

Cursor 재사용 계층: Library Cache·Session Cursor Cache·JDBC Statement Cache

Shared Pool 재사용을 넘어 Session Cursor Cache와 Prepared Statement 재사용으로 Parse Call 자체를 줄입니다.

#Library Cache#Session Cursor Cache#SESSION_CACHED_CURSORS
이론 읽기 →
18
3과목인덱스 기본 원리

B-Tree 인덱스 구조와 탐색: Root·Branch·Leaf·ROWID

B*Tree의 계층 구조와 수직·수평 탐색, NULL 저장 규칙 및 ROWID의 역할을 연결합니다.

#B-tree#B*Tree#Root Block
이론 읽기 →
19
3과목인덱스 스캔 방식

Index Scan과 Table Full Scan: 선택도·I/O·손익분기점

읽을 데이터 비율과 I/O 방식에 따라 Index Scan과 Table Full Scan의 손익분기점을 판단합니다.

#Access Path#Index Range Scan#Table Full Scan
이론 읽기 →
20
3과목인덱스 스캔 방식

Index Unique·Range·Descending Scan: 탐색 범위와 정렬 방향

Unique·Range·Descending Scan의 시작점·종료점과 고유 키·범위·역방향 탐색 조건을 구분합니다.

#INDEX UNIQUE SCAN#INDEX RANGE SCAN#INDEX RANGE SCAN DESCENDING
이론 읽기 →
21
3과목인덱스 스캔 방식

Index Full Scan·Fast Full Scan·Table Full Scan: 정렬·I/O·Covering

Index Full Scan과 Index Fast Full Scan의 읽기 순서, 정렬 보장, 멀티블록·병렬 가능성, Covering 조건을 Table Full Scan과 비교합니다.

#Index Full Scan#Index Full Scan Descending#Index Fast Full Scan
이론 읽기 →
22
3과목인덱스 스캔 방식

Index Skip Scan: 선두 컬럼 없이 논리 Subindex 탐색

복합 인덱스의 선두 컬럼 조건이 없을 때 선두 NDV별 논리 Subindex를 반복 Probe하는 Skip Scan의 적용 조건과 한계를 이해합니다.

#INDEX SKIP SCAN#Logical Subindex#Leading Column NDV
이론 읽기 →
23
3과목인덱스 기본 원리

인덱스를 활용하는 조건식: 컬럼 가공·묵시적 형변환·Sargability

인덱스 컬럼을 그대로 비교하고 Bind 타입을 맞춰 Start·Stop Key를 만들며 오류와 넓은 Scan을 방지합니다.

#Sargable#Start Key#Stop Key
이론 읽기 →
24
3과목인덱스 스캔 방식

IN·BETWEEN·LIKE 조건의 인덱스 탐색: 반복 Probe와 연속 범위

IN-List, BETWEEN, LIKE가 만드는 인덱스 탐색 구간과 반복 Probe 비용을 비교하고, 선택 조건을 결과 의미와 실제 통계로 판단합니다.

#INLIST ITERATOR#IN Condition#IN Subquery
이론 읽기 →
25
3과목인덱스 기본 원리

복합 인덱스의 조건 처리: Access Predicate·Index Filter·Table Filter

복합 인덱스에서 Access Predicate가 시작·종료 범위를 정하고 Filter Predicate가 읽은 Entry를 거르는 차이를 이해합니다.

#Composite Index#ACCESS_PREDICATES#FILTER_PREDICATES
이론 읽기 →
26
3과목인덱스 기본 원리

복합 인덱스의 검색 범위: 사전식 정렬과 Start·Stop Key

복합 인덱스가 사전식 순서로 정렬된다는 원리를 이용해 조건 조합별 시작점·종료점과 실제 Leaf 스캔 범위를 정확히 계산합니다.

#Composite Index#Lexicographic Order#Start Key
이론 읽기 →
27
3과목테이블 액세스 최소화

테이블 랜덤 액세스의 원리: ROWID·Buffer I/O·후행 조건

Index가 찾은 ROWID와 Table Block 방문 비용을 연결해 Random Access 최소화 원리를 이해합니다.

#Table Random Access#Physical ROWID#TABLE ACCESS BY INDEX ROWID
이론 읽기 →
28
3과목테이블 액세스 최소화

Clustering Factor 이해: 인덱스 순서와 Table Block 배치

Index Key 순서와 Table Row 물리 배치의 상관관계가 ROWID Table Block 방문 수를 바꾸는 원리를 이해합니다.

#Clustering Factor#Index Key Order#Table Block Layout
이론 읽기 →
29
3과목테이블 액세스 최소화

인덱스 손익분기점: ROWID 액세스와 Full Scan 비용 비교

Index Range Scan과 Table Full Scan의 손익분기점을 결과 비율이 아닌 Random Access·CF·정렬·병렬 조건으로 판단합니다.

#Index Break-Even Point#Index Range Scan#Table Full Scan
이론 읽기 →
30
3과목테이블 액세스 최소화

ROWID Batching과 결과 순서: TABLE ACCESS BY INDEX ROWID BATCHED

인덱스에서 모은 ROWID를 테이블 블록 방문 효율에 맞게 처리하는 BATCHED 접근과 SQL 결과 순서 보장 원칙을 구분합니다.

#TABLE ACCESS BY INDEX ROWID BATCHED#ROWID Batching#Block Order
이론 읽기 →
31
3과목인덱스 기본 원리

인덱스 스캔 효율과 Covering: Leaf Scan·Table Access 줄이기

읽은 Index Entry 대비 필요한 결과 비율을 측정하고 Filter·조회 컬럼을 포함해 Table Random Access를 줄입니다.

#Index Scan Efficiency#Covering Index#Index-Only Access
이론 읽기 →
32
3과목인덱스 기본 원리

복합 인덱스 설계 원칙: 조건·정렬·수행 빈도·DML 비용

자주 수행되는 Critical Access Path를 기준으로 등치·범위·정렬·선택도와 DML 비용을 함께 고려해 복합 인덱스를 설계합니다.

#Composite Index#Concatenated Index#Critical Access Path
이론 읽기 →
33
3과목인덱스 기본 원리

Function-Based Index: 표현식 검색·NULL·정렬 최적화

반복되는 표현식에 Function-Based Index를 적용하되 NULL 의미·NLS·결정성·ORDER BY 활용 조건을 검증합니다.

#Function-Based Index#Expression Tree Matching#Virtual Column
이론 읽기 →
34
3과목인덱스 기본 원리

Bitmap Index의 원리와 적용: 비트 연산·NULL·DML 동시성

Key별 Bitmap과 ROWID 변환, 다중 조건 결합의 장점 및 OLTP DML 잠금 위험을 이해합니다.

#Bitmap Index#Bitmap Piece#Low ROWID
이론 읽기 →
35
3과목인덱스 스캔 방식

Index Join과 Bitmap Conversion: 여러 인덱스의 ROWID 결합

여러 B*Tree 인덱스의 ROWID 집합을 Hash Join 또는 임시 Bitmap으로 결합하는 원리와 복합 인덱스 대비 적용 조건을 이해합니다.

#Index Join Scan#index$_join$#ROWID Hash Join
이론 읽기 →
36
3과목테이블 액세스 최소화

IOT 구조와 성능: Primary Key Leaf·Overflow·Secondary Index

Index-Organized Table이 Primary Key B*Tree Leaf에 행을 저장하는 구조와 Overflow·Secondary Index의 Logical ROWID 비용을 이해합니다.

#Index-Organized Table#IOT - TOP#Primary Key Leaf
이론 읽기 →
37
3과목테이블 액세스 최소화

Cluster Table 구조와 적용: Index Cluster·Hash Cluster

같은 Cluster Key의 Row를 가까이 저장하는 Index Cluster와 Hash 계산으로 Block을 찾는 Hash Cluster의 조회·공간·DML 조건을 비교합니다.

#Table Cluster#Index Cluster#Hash Cluster
이론 읽기 →
38
3과목인덱스 기본 원리

중복 인덱스 관리: 포함 관계·용도 차이·안전한 제거

선두 컬럼이 겹치는 완전·불완전 중복 인덱스의 실제 사용 SQL과 선택도를 비교해 안전하게 통합·제거합니다.

#Duplicate Index#Prefix Redundancy#Functional Redundancy
이론 읽기 →
39
3과목통계정보

Histogram 이해: 데이터 편중·인기 값·Bind 실행계획

편중된 값 분포를 Histogram이 어떻게 요약하고 Literal·Bind 조건의 Plan 안정성에 어떤 영향을 주는지 설명합니다.

#Histogram#Data Skew#Frequency Histogram
이론 읽기 →
40
3과목통계정보

복합 조건의 추정 보완: Dynamic Statistics·Column Group·Expression Statistics

Parse 시점 Sampling과 지속 저장되는 Column Group·Expression Statistics의 역할과 비용을 비교합니다.

#Dynamic Statistics#Dynamic Sampling#OPTIMIZER_DYNAMIC_SAMPLING
이론 읽기 →
41
3과목통계정보

Index·System Statistics: Access Path 비용을 만드는 입력값

BLEVEL·LEAF_BLOCKS·CLUSTERING_FACTOR와 CPU·Single/Multiblock I/O 특성이 Index와 Full Scan 비용 비교에 반영되는 원리를 이해합니다.

#Index Statistics#BLEVEL#LEAF_BLOCKS
이론 읽기 →
42
3과목통계정보

DBMS_STATS 통계 운영: 수집·Stale·Incremental·Pending·복구

수집 명령 암기를 넘어 자동 수집, 변경률, 파티션 Synopsis, 검증·복구까지 안정적인 통계 운영 흐름을 학습합니다.

#DBMS_STATS#AUTO_SAMPLE_SIZE#METHOD_OPT
이론 읽기 →
43
3과목SQL 파싱과 최적화

Bind Variable과 실행계획: Bind Peeking·Adaptive Cursor Sharing

Bind 변수의 Cursor 공유 이점과 Data Skew 부작용을 Bind Peeking·ACS·CURSOR_SHARING으로 구분합니다.

#Bind Variable#Bind Peeking#Adaptive Cursor Sharing
이론 읽기 →
44
3과목조인 순서와 조인 방식

조인의 결과 의미: Inner·Outer·Semi·Anti Join과 NULL

보존 Row와 존재 여부를 기준으로 Outer·Semi·Anti Join을 구분하고 NULL 함정을 피합니다.

#Inner Join#Outer Join#Semi Join
이론 읽기 →
45
3과목조인 순서와 조인 방식

조인 최적화의 기본: 조인 순서·접근 경로·조인 방식

NL·Hash·Sort Merge Join의 반복 탐색·Hash Table·정렬 병합 구조를 입력 크기·Index·Memory 관점에서 비교합니다.

#Join Order#Join Method#Access Path
이론 읽기 →
46
3과목조인 순서와 조인 방식

조인 전에 행 수 줄이기: 필터링·선집계·부분범위 처리

조인 전에 중복 Key를 집계하거나 선택적 집합을 먼저 줄이고 Top-N·Predicate Pushdown으로 전체 작업량을 낮춥니다.

#Join Pre-Aggregation#Row Source Grain#Group By Placement
이론 읽기 →
47
3과목NL 조인

Nested Loops Join 기본 원리: Outer·Inner·반복 탐색

Driving Row마다 Inner Row Source가 반복 시작되는 NL Join 구조를 Starts와 A-Rows로 계산합니다.

#Nested Loops Join#Outer Row Source#Inner Row Source
이론 읽기 →
48
3과목NL 조인

Nested Loops Join 튜닝: 선행 집합·Predicate·ROWID 비용

Outer·Inner Access Predicate와 Table Filter를 분리해 불필요한 ROWID Random Access가 시작되는 지점을 찾습니다.

#NL Join Tuning#Outer Candidate Rows#Access Predicate
이론 읽기 →
49
3과목NL 조인

Nested Loops Join 고급 실행 구조: ROWID Batching·Hint 검증

NL Join의 Prefetch·Batched ROWID Access·Buffer Pinning과 조인 순서 Hint가 반복 I/O와 결과 순서에 미치는 영향을 이해합니다.

#Nested Loops Current Implementation#Nested Nested Loops#ROWID Batching
이론 읽기 →
50
3과목소트 머지 조인

Sort Merge Join의 원리와 튜닝: 정렬·병합·Workarea·비등치 조인

두 입력의 정렬과 Merge 단계, PGA·TEMP 비용 및 비등치 조인 활용 조건을 학습합니다.

#Sort Merge Join#SORT JOIN#MERGE JOIN
이론 읽기 →
51
3과목해시 조인

Hash Join의 원리와 Workarea: Build·Probe·PGA·TEMP Spill

작은 입력으로 Hash Table을 만들고 큰 입력을 Probe하며 메모리 부족 시 TEMP Partition으로 Spill되는 과정을 이해합니다.

#Hash Join#Build Input#Probe Input
이론 읽기 →
52
3과목해시 조인

Hash Join 고급 튜닝: Data Skew·Bloom Filter·Build Input 제어

중복 Hash Key와 Data Skew가 CPU·분배 비용을 키우는 원리, Bloom Filter와 Build Input 제어의 적용 조건을 이해합니다.

#Hash Join Advanced Tuning#Hash Collision#Duplicate Key
이론 읽기 →
53
3과목소트 튜닝

Sort Operation 이해: ORDER BY·JOIN·WINDOW SORT

SORT ORDER BY·SORT JOIN·WINDOW SORT가 행 순서를 만드는 목적과 전체 입력을 준비해야 하는 비용을 이해합니다.

#SORT ORDER BY#SORT JOIN#WINDOW SORT
이론 읽기 →
54
3과목소트 튜닝

Sort Workarea 진단: Optimal·One-Pass·Multi-Pass·TEMP

Sort Workarea가 메모리를 초과할 때 TEMP로 Spill되는 Optimal·One-Pass·Multi-Pass 처리와 비용을 진단합니다.

#Sort Workarea#PGA#OPTIMAL
이론 읽기 →
55
3과목소트 튜닝

Sort 부하 줄이기: 입력 행 수·Row 폭·연산 위치

정렬 전에 행 수와 행 폭을 줄이고 Top-N·Index Order를 활용해 메모리와 TEMP 사용을 최소화합니다.

#Sort Input Reduction#Row Width#Predicate Pushing
이론 읽기 →
56
3과목소트 튜닝

집계와 중복 제거: SORT·HASH Operation 비교

SORT AGGREGATE·SORT/HASH GROUP BY·SORT/HASH UNIQUE의 입력·출력 행 의미와 순서 보장 차이를 비교합니다.

#SORT AGGREGATE#SORT GROUP BY#HASH GROUP BY
이론 읽기 →
57
3과목소트 튜닝

집합 연산·EXISTS로 Sort와 중복 제거 줄이기

UNION을 UNION ALL의 상호 배타 분기로 바꾸거나 EXISTS·NOT EXISTS로 존재만 확인해 불필요한 SORT UNIQUE를 줄입니다.

#UNION#UNION ALL#INTERSECT
이론 읽기 →
58
3과목소트 튜닝

Index Order로 Sort 생략: ORDER BY·Top-N·GROUP BY NOSORT

WHERE의 선행 Key 고정과 Index 순서가 ORDER BY·GROUP BY를 만족할 때 Sort를 생략하고 부분범위 처리를 가능하게 합니다.

#Index Order#Lexicographic Order#ORDER BY
이론 읽기 →
59
3과목소트 튜닝

Top-N 처리 원리: ROWNUM·FETCH FIRST·STOPKEY

정렬 기준의 앞쪽 N건을 구할 때 ROWNUM 위치와 FETCH FIRST 문법, COUNT·SORT ORDER BY STOPKEY의 실제 읽기 범위를 이해합니다.

#Top-N#ROWNUM#FETCH FIRST
이론 읽기 →
60
3과목소트 튜닝

MIN/MAX 최적화와 Top-1 조회: 값·행·동점의 차이

집계값 하나를 구하는 MIN/MAX 최적화와 정렬된 행 하나를 반환하는 Top-1의 의미·NULL·동점·인덱스 조건을 구분합니다.

#MIN MAX Optimization#Top-1#INDEX RANGE SCAN MIN/MAX
이론 읽기 →
61
3과목데이터베이스 Call 최소화

부분범위 처리 기초: 첫 행 응답·Fetch 중단·전체 처리량

전체 결과를 끝까지 처리하지 않고 필요한 Row까지만 Fetch해 초기 응답을 줄이는 부분범위 처리의 기본 원리를 이해합니다.

#부분범위 처리#Fetch#Initial Response
이론 읽기 →
62
3과목데이터베이스 Call 최소화

부분범위 처리 성립 조건: Index Order·STOPKEY·Blocking Operation

ORDER BY 요구 순서를 지원하는 인덱스가 전체 Sort를 피하고 앞쪽 Row부터 반환하게 만드는 조건을 이해합니다.

#Index Order#ORDER BY#SORT ORDER BY
이론 읽기 →
63
3과목옵티마이저

옵티마이저 목표 모드: ALL_ROWS와 FIRST_ROWS(n)

전체 처리량을 중시하는 ALL_ROWS와 앞쪽 n건 응답을 중시하는 FIRST_ROWS(n)의 Cost 목표와 적용 범위를 비교합니다.

#ALL_ROWS#FIRST_ROWS(n)#FIRST_ROWS_n
이론 읽기 →
64
3과목소트 튜닝

Pagination 성능 원리: ROWNUM·OFFSET·Keyset Pagination

페이지 번호가 깊어질수록 앞 행을 읽고 버리는 ROWNUM·OFFSET 비용과 마지막 키 이후부터 찾는 Keyset Pagination을 비교합니다.

#Pagination#ROWNUM#OFFSET
이론 읽기 →
65
3과목데이터베이스 Call 최소화

조회 왕복 최소화: Fetch Size·Row Limiting·OFFSET·Keyset Pagination

Array Fetch·JDBC Fetch Size와 Server-Side Pagination을 사용해 결과 전송 왕복과 불필요한 Row 처리를 줄입니다.

#Fetch Call#Row Prefetch#JDBC Fetch Size
이론 읽기 →
66
3과목데이터베이스 Call 최소화

n-Tier 부분범위 처리 구현: Stateful Cursor·Stateless Pagination·Connection Pool

Cursor를 열어 필요한 만큼 Fetch하는 구현과 n-Tier·Connection Pool 환경에서 상태 유지·Timeout·재요청을 설계합니다.

#Cursor Fetch#n-Tier#Connection Pool
이론 읽기 →
67
3과목데이터베이스 Call 최소화

Array Fetch 실측: Fetch Call·Rows per Fetch·Network·메모리

Array Size와 Fetch Size가 Network Round Trip·Client 메모리·불필요 전송량을 바꾸는 원리를 수치로 계산합니다.

#Array Size#Fetch Size#Fetch Call
이론 읽기 →
68
3과목스칼라 서브쿼리

스칼라 서브쿼리 기본 원리: 0행·1행·다중행과 반복 실행

Scalar Subquery의 0건·1건·다건 반환 규칙과 상관 실행의 반복 비용을 이해하고 Join·사전 집계 대안과 결과 의미를 비교합니다.

#Scalar Subquery#Scalar Subquery Expression#Single-Row Subquery
이론 읽기 →
69
3과목서브쿼리와 조인 변환

상관 서브쿼리 FILTER 실행: Starts·조기 종료·Semi/Anti Join

상관 서브쿼리가 FILTER로 반복 실행되는 구조와 입력 Key Cache가 Starts·I/O를 줄이는 조건을 이해합니다.

#Correlated Subquery#FILTER#Subquery Starts
이론 읽기 →
70
3과목옵티마이저 쿼리 변환

Query Transformation 기초: Query Block·동등 변환·Plan 탐색

Optimizer가 SQL을 동등한 형태로 바꾸는 목적, 적용 조건과 대표 변환을 전체 지도처럼 정리합니다.

#Query Transformation#Query Block#Validity
이론 읽기 →
71
3과목서브쿼리와 조인 변환

Subquery Unnesting: Semi·Anti Join과 NOT IN NULL 정합성

Subquery를 Semi·Anti Join으로 변환할 때 존재 의미·중복 제거·NULL 규칙을 보존하는 조건을 이해합니다.

#Subquery Unnesting#Semi Join#Anti Join
이론 읽기 →
72
3과목서브쿼리와 조인 변환

LATERAL·APPLY 조인: 왼쪽 상관 참조와 Key별 Top-N

왼쪽 Row를 참조하는 인라인 집합을 조인하는 APPLY 문법과 Outer 보존 의미를 예제로 익힙니다.

#LATERAL#CROSS APPLY#OUTER APPLY
이론 읽기 →
73
3과목스칼라 서브쿼리

스칼라 서브쿼리 반복 제거: 사전 집계·LATERAL·구조화 반환

같은 범위를 여러 Scalar Subquery가 반복 읽는 문제를 사전 집계 Join·LATERAL과 구조화된 반환 방식으로 개선합니다.

#Multiple Scalar Subquery#Pre-Aggregation#LATERAL
이론 읽기 →
74
3과목스칼라 서브쿼리

Scalar Subquery Cache·Result Cache·DETERMINISTIC: 재사용과 정확성

반복 계산을 줄이는 Scalar Subquery Cache, SQL·PL/SQL Result Cache와 DETERMINISTIC의 보장 범위를 비교합니다.

#Scalar Subquery Cache#SQL Result Cache#PL/SQL Function Result Cache
이론 읽기 →
75
3과목옵티마이저 쿼리 변환

View Merging·Predicate Pushdown: Query Block 통합과 조건 조기 적용

View를 합치거나 조건을 내부로 밀어 읽을 Row를 줄이는 두 변환과 적용 제한을 비교합니다.

#View Merging#Simple View Merging#Complex View Merging
이론 읽기 →
76
3과목옵티마이저 쿼리 변환

OR Expansion·조건 이행·Join Elimination: 분기·파생 조건·불필요 조인 제거

OR 분기, 등식에서 파생되는 조건, 신뢰 가능한 제약에 따른 Table 제거를 실행계획 관점으로 정리합니다.

#OR Expansion#USE_CONCAT#NO_EXPAND
이론 읽기 →
77
3과목고급 SQL 활용

이력 데이터 조회: 점이력·선분이력·기간 겹침과 Temporal Validity

변경 시점과 유효 기간 모델을 구분하고 최신 1건·특정 시점·기간 겹침 Query를 안전하게 설계합니다.

#Point History#Interval History#Valid Time
이론 읽기 →
78
3과목고급 SQL 활용

최신 이력 조회: Top-1·ROW_NUMBER·DENSE_RANK·KEEP

이력 데이터에서 최신 한 건 또는 최신 시점의 여러 값을 효율적으로 찾는 대표 패턴을 비교합니다.

#Latest History#Top-1#ROW_NUMBER
이론 읽기 →
79
3과목고급 SQL 활용

Static·Dynamic SQL과 선택적 검색조건: NULL 의미·Bind·SQL Shape·보안

SQL 생성 방식과 Bind 사용을 분리해 이해하고 선택적 조건의 OR·NVL·UNION ALL 패턴을 비교합니다.

#Static SQL#Dynamic SQL#Native Dynamic SQL
이론 읽기 →
80
3과목고급 SQL 활용

Materialized View와 Query Rewrite: Refresh·정합성·운영 비용

상세 Table Query를 미리 집계한 Materialized View로 재작성하는 조건, 검증과 일관성 Trade-off를 학습합니다.

#Materialized View#Query Rewrite#BUILD IMMEDIATE
이론 읽기 →
81
3과목옵티마이저

적응형 최적화: Adaptive Plan·Statistics Feedback·Adaptive Cursor Sharing

예상 Cardinality가 빗나갔을 때 현재 실행과 다음 실행에서 Oracle이 보완하는 방식을 구분합니다.

#Adaptive Query Plan#Default Plan#Final Plan
이론 읽기 →
82
3과목옵티마이저

옵티마이저의 한계와 역할 분담: 좋은 판단 조건 만들기

옵티마이저가 업무 의미와 잘못된 SQL 구조를 대신 해결하지 못하는 한계를 이해하고 통계·SQL·힌트의 책임 범위를 정합니다.

#Optimizer Limitation#Business Intent#Developer Role
이론 읽기 →
83
3과목옵티마이저

옵티마이저 힌트 사용법: 문법·적용 범위·검증

Hint가 강제 명령이 아니라 적용 조건이 맞을 때 Plan 선택에 영향을 주는 지시임을 이해하고 Query Block·Alias·실제 적용 여부를 검증합니다.

#Optimizer Hint#Hint Syntax#Query Block
이론 읽기 →
84
3과목SQL 성능 문제 진단

응답시간 분석: DB Time·CPU·Wait Event

대기 횟수보다 응답시간과 업무 영향에 초점을 맞춰 CPU·I/O·Concurrency·Network 병목을 분류합니다.

#End-to-End Response Time#DB Time#DB CPU
이론 읽기 →
85
3과목SQL 성능 문제 진단

누적 성능 통계 읽기: V$SYSSTAT·V$SESSTAT과 Delta

누적 통계를 그대로 비교하지 않고 동일 범위의 Snapshot 차이와 업무량으로 정규화합니다.

#V$SYSSTAT#V$SESSTAT#V$STATNAME
이론 읽기 →
86
3과목SQL 성능 문제 진단

Top SQL 선정: V$SQL의 총량·실행당 부하·Child Cursor

Child Cursor 누적 통계를 총량·1회당 부하·Parse 효율로 나눠 튜닝 우선순위와 Cursor 공유 문제를 찾습니다.

#V$SQL#V$SQLAREA#V$SQLSTATS
이론 읽기 →
87
3과목SQL 성능 문제 진단

단일 세션 정밀 진단: SQL Trace·TKPROF

SQL Trace를 필요한 범위에만 수집하고 TKPROF의 Call 통계와 Wait를 해석합니다.

#SQL Trace#TKPROF#TRCSESS
이론 읽기 →
88
3과목SQL 성능 문제 진단

시간 구간 성능 분석: AWR·Statspack·ASH

AWR의 구간 요약과 ASH의 Active Session 표본을 결합해 Peak 원인을 좁힙니다.

#AWR#Statspack#ASH
이론 읽기 →
89
3과목SQL 성능 문제 진단

진단 도구 선택과 교차 검증: AUTOTRACE·DISPLAY_CURSOR·SQL Monitor·V$SQL

예상 계획·실제 통계·장시간 SQL 모니터링·누적 지표를 상황에 맞게 선택하고 교차 검증합니다.

#AUTOTRACE#DBMS_XPLAN.DISPLAY_CURSOR#ALLSTATS LAST
이론 읽기 →
90
3과목SQL 성능 문제 진단

SQL 성능 문제 진단 절차: 증상 정의부터 개선 검증까지

감이 아니라 측정 범위와 응답시간을 기준으로 SQL·Application·System 원인을 단계적으로 좁힙니다.

#Performance Diagnosis#Response Time#Baseline
이론 읽기 →
91
3과목파티셔닝

파티션 설계의 기본: Range·List·Hash·Composite·Interval·Reference

대용량 Object를 Segment 단위로 나누는 목적과 업무 Access·관리 패턴에 맞는 Partition Key 선택을 학습합니다.

#Table Partitioning#Range Partition#List Partition
이론 읽기 →
92
3과목파티셔닝

Partition Pruning 해석: Static·Dynamic·PSTART·PSTOP

Compile 시점과 실행 시점의 Partition 제거를 구분하고 실행계획의 PSTART·PSTOP과 Predicate를 함께 읽습니다.

#Partition Pruning#Static Pruning#Dynamic Pruning
이론 읽기 →
93
3과목파티셔닝

파티션 인덱스 설계: Local·Global·Prefixed·Unique

Local과 Global Partitioned Index의 파티션 대응 관계, 정렬 범위, 유지관리 영향과 Partition Pruning 조건을 비교합니다.

#Local Index#Global Index#Local Prefixed Index
이론 읽기 →
94
3과목파티셔닝

Partition-Wise Join: Full·Partial·병렬 재분배

조인 키 기준 파티션 정렬을 이용해 큰 조인을 작은 파티션별 조인으로 나누는 Full·Partial Partition-Wise Join의 조건과 실행계획을 이해합니다.

#Partition-Wise Join#Full Partition-Wise Join#Partial Partition-Wise Join
이론 읽기 →
95
3과목파티셔닝

파티션 유지관리와 대량 데이터 처리: EXCHANGE·DROP·TRUNCATE

많은 Row를 직접 변경하지 않고 Partition 단위 메타데이터 작업으로 UPDATE·DELETE·INSERT 부하를 줄입니다.

#Partition Exchange#Drop Partition#Truncate Partition
이론 읽기 →
96
3과목병렬 처리

병렬 실행 구조: QC·PX Server Set·Table Queue·Granule

하나의 SQL을 여러 PX Server에 분배하는 Coordinator, Server Set, Table Queue와 작업 단위를 연결합니다.

#Parallel Execution#Query Coordinator#PX Server Set
이론 읽기 →
97
3과목병렬 처리

병렬 데이터 분배와 Skew: HASH·BROADCAST·RANGE·Bloom Filter

병렬 Sort·Group·Join에서 Row를 어느 PX Server로 보낼지 결정하는 분배 방식과 불필요한 전송을 줄이는 Bloom Filter를 학습합니다.

#PX Distribution#HASH#BROADCAST
이론 읽기 →
98
3과목병렬 처리

Parallel Query·DDL·DML 운영: DOP·활성 조건·자원·트랜잭션

병렬화의 초기화·통신 비용, PDML 활성 조건과 Lock·Undo·Memory·동시성 Trade-off를 운영 관점에서 정리합니다.

#Parallel Query#Parallel DDL#Parallel DML
이론 읽기 →
99
3과목데이터베이스 아키텍처

Redo·Checkpoint·Commit 원리: WAL·Fast Commit·Instance Recovery

Online·Archived Redo Log, WAL, LGWR, log file sync를 복구와 Commit 흐름으로 연결합니다.

#Redo#Undo#Redo Log Buffer
이론 읽기 →
100
3과목트랜잭션

트랜잭션 경계와 격리 수준: ACID·COMMIT·READ COMMITTED·SERIALIZABLE

ACID와 Statement·Transaction 수준 일관성, Dirty·Non-Repeatable·Phantom Read를 비교합니다.

#Transaction#ACID#COMMIT
이론 읽기 →
101
3과목트랜잭션

Undo의 원리와 운영: Rollback·Read Consistency·AUM·ORA-01555

Undo의 세 가지 목적과 AUM, Retention, ORA-01555의 관계를 학습합니다.

#Undo#AUM#Undo Segment
이론 읽기 →
102
3과목동시성 제어

Oracle 읽기 일관성: SCN·CR Block·Current Get·SQL Trace

Query SCN과 Undo로 CR Block을 만들고 SQL Trace의 query·current를 읽는 원리를 연결합니다.

#Read Consistency#SCN#Query SCN
이론 읽기 →
103
3과목Lock

Oracle Lock의 기본 구조: Row Lock·TX Enqueue·TM Enqueue·Lock Mode

Row의 Lock Byte부터 Transaction TX Lock과 Table TM Lock까지 보호 계층을 연결합니다.

#Row Lock#TX Enqueue#TM Enqueue
이론 읽기 →
104
3과목데이터베이스 Call 최소화

Database Call 최소화: One-SQL·Array DML·Bulk Binding·JDBC Batch

Row-by-Row 반복을 집합 SQL과 Batch·Array 처리로 바꿔 Network Round Trip과 Execute Call을 줄입니다.

#Database Call#One-SQL#Row-by-Row
이론 읽기 →
105
3과목데이터베이스 Call 최소화

SQL 안의 PL/SQL 호출 최적화: Context Switch·Recursive SQL·Set-Based 변환

SQL 안의 PL/SQL 함수가 만드는 Context Switch·Recursive SQL·반복 I/O를 찾아 집합 기반으로 변환합니다.

#PL/SQL Function#Context Switch#SQL Transpiler
이론 읽기 →
106
3과목DML 튜닝

대량 DML 비용 구조: 탐색·Index·Undo·Redo·Lock·Commit

대량 DML에서 테이블 변경 외에 인덱스·제약조건·Undo·Redo·Lock·Commit 비용이 함께 증가하는 원리를 계산합니다.

#대량 DML#Index 유지비용#Undo
이론 읽기 →
107
3과목DML 튜닝

B-Tree 인덱스 DML 비용과 경합: Delete·Split·Hot Block·재구성

B*Tree Delete·Split과 우측 성장 경합을 구분하고 측정 근거가 있을 때만 재구성 전략을 선택합니다.

#Index Split#Right-Growing Index#Hot Block
이론 읽기 →
108
3과목DML 튜닝

DML Call 최소화: One-SQL·FORALL·Array Bind·Batch

Row-by-Row 처리를 One-SQL과 Array·Batch 처리로 바꾸어 Parse·Execute·Network Round Trip을 줄입니다.

#One-SQL#Bulk SQL#BULK COLLECT
이론 읽기 →
109
3과목DML 튜닝

집합 기반 DML 선택: MERGE·조인 갱신·Multi-Table INSERT

서로 다른 목적의 조인 기반 DML 세 가지를 비교해 갱신·동기화·다중 적재 요구에 맞는 방식을 선택하고 정합성 위험을 피합니다.

#MERGE#UPDATE FROM#Join View
이론 읽기 →
110
3과목DML 튜닝

수정 가능한 조인 뷰: Key Preservation·결정성·안전한 대안

조인 결과를 직접 갱신할 때 한 View Row가 Target Base Row 하나에 대응하는 Key Preservation 조건과 제한을 이해합니다.

#Updatable Join View#Key-Preserved Table#Deterministic Update
이론 읽기 →
111
3과목DML 튜닝

MERGE 정확성과 성능: Source 유일성·조건부 DML·DELETE WHERE

MERGE의 Source 유일성·ON 조건·UPDATE·INSERT·DELETE WHERE 실행 규칙을 이해하고 반복 조회와 중복 갱신을 방지합니다.

#MERGE#ORA-30926#Source Uniqueness
이론 읽기 →
112
3과목DML 튜닝

대량 적재 운영 전략: Index·Constraint·UNUSABLE·재구축

대량 적재 전후에 인덱스와 제약조건을 비활성화·재구축하는 전략의 이득과 장애·복구 위험을 판단합니다.

#대량 적재#UNUSABLE#Index Rebuild
이론 읽기 →
113
3과목DML 튜닝

Direct-Path Insert: APPEND·HWM·Undo·Redo·NOLOGGING

Buffer Cache 일반 경로를 우회하는 Direct Path I/O와 HWM 위 적재 방식의 성능·Undo·Redo·공간 특성을 이해합니다.

#Direct Path I/O#Direct-Path Insert#APPEND
이론 읽기 →
114
3과목DML 튜닝

병렬 DML 운영: 활성화·실제 DOP·제약·검증

Parallel DML 활성화 조건과 QC·PX Server 역할, 강한 Lock·Commit 제약 및 실제 병렬 동작 확인 방법을 이해합니다.

#Parallel DML#ENABLE PARALLEL DML#QC
이론 읽기 →
115
3과목동시성 제어

ITL과 Block Cleanout: Block 내부 Transaction 추적과 동시 DML

ITL Slot, Lock Byte, Transaction ID와 Commit 후 Block Cleanout의 관계를 이해합니다.

#ITL#Interested Transaction List#Lock Byte
이론 읽기 →
116
3과목동시성 제어

DML Write Consistency: Current 갱신·Statement Restart·Lost Update

UPDATE의 대상 탐색과 실제 갱신 모드를 구분하고 동시 변경 시 Restart와 Lost Update를 예방합니다.

#DML Write Consistency#Lost Update#READ COMMITTED
이론 읽기 →
117
3과목Lock

Lock 경합 진단: Waiter·Blocker·TX/TM Event·ITL·Deadlock

이벤트 이름만으로 결론 내리지 않고 TX·TM 경합의 원인을 Resource와 Block 단위로 좁힙니다.

#TX contention#TM contention#Wait Chain
이론 읽기 →
118
3과목동시성 제어

비관적·낙관적 동시성 제어: FOR UPDATE·Version Column·재시도

Lock 선점과 갱신 시 충돌 검증 방식을 비교하고 안전한 Version Column 패턴을 적용합니다.

#Pessimistic Locking#Optimistic Locking#SELECT FOR UPDATE
이론 읽기 →
119
3과목동시성 제어

SELECT FOR UPDATE 실전: OF·NOWAIT·WAIT·SKIP LOCKED

조인 조회에서 FOR UPDATE가 잠그는 행과 FOR UPDATE OF가 특정 테이블의 행만 Lock 대상으로 지정하는 규칙을 이해합니다.

#SELECT FOR UPDATE#FOR UPDATE OF#NOWAIT
이론 읽기 →
120
3과목동시성 제어

안전한 채번 설계: Sequence·Identity·채번 Table·MAX+1

채번 Table, Oracle Sequence, MAX+1과 Identity Column의 동시성·Gap·Transaction 의미를 비교해 안전한 식별자 생성 방식을 선택합니다.

#Sequence#Identity Column#Sequence Cache
이론 읽기 →
121
3과목동시성 제어

Sequence와 Right-Growing Index 경합: CACHE·RAC·Reverse·Scalable

Sequence 할당 경합과 증가 Key가 Rightmost Leaf에 집중시키는 Index Hot Block을 구분하고 RAC·Reverse Key·Hash Partition·Scalable Sequence 대안을 판단합니다.

#Right-Growing Index#Sequence Cache#ORDER
이론 읽기 →
122
3과목데이터베이스 아키텍처

Oracle RAC 구조: 다중 Instance·Cache Fusion·GCS·GES

RAC의 Instance별 Cache와 Cache Fusion, 전역 Block Mode 및 Resource Master를 통해 공유 Database의 일관성을 이해합니다.

#Oracle RAC#Cache Fusion#Global Resource Directory
이론 읽기 →