토픽 213 / 224·비교표
SQL 및 데이터베이스 객체
View vs Materialized View
| 구분 | View | Materialized View |
|---|
| **저장 여부** | 미저장(쿼리 정의만) | 물리적 저장(결과 데이터) |
| **성능** | 매번 재실행(느림) | 사전 계산 결과 반환(빠름) |
| **갱신** | 항상 최신(실시간) | 갱신 필요(지연 가능) |
| **용도** | 보안/단순화/독립성 | OLAP/대시보드/리포트 |
| **인덱스** | 불가 | 생성 가능 |
정적 SQL vs 동적 SQL
| 구분 | 정적 SQL | 동적 SQL |
|---|
| **구문 확정 시점** | 컴파일 시 | 실행 시 |
| **성능** | 우수(사전 최적화) | 상대적 저하(매번 파싱) |
| **보안** | SQL 인젝션 차단 | 인젝션 위험(바인드 변수로 완화) |
| **유연성** | 낮음(구조 고정) | 높음(동적 구성) |
| **실행계획** | 재사용 용이 | 재사용 어려움(Soft Parse) |
CTE vs 서브쿼리 vs 임시 테이블 vs 뷰
| 구분 | CTE | 서브쿼리 | 임시 테이블 | 뷰 |
|---|
| **범위** | 단일 문장 | 단일 문장 | 세션/트랜잭션 | 영구 |
| **재사용** | 같은 쿼리 내 | 불가 | 세션 내 | 전역 |
| **재귀** | 지원 | 미지원 | 미지원 | 미지원 |
| **성능** | 인라인 확장 | 인라인 확장 | 물리 저장 | 실시간 실행 |
| **가독성** | 높음(명명) | 낮음(중첩) | 보통 | 높음 |