NO_UNNEST 힌트 in Oracle

1. NO_UNNEST 힌트란? NO_UNNEST 힌트는 서브쿼리(Subquery)의 변환(UNNESTING) 최적화를 방지하는 데 사용됩니다. NEST의 사전적 의미는 무언가를 “포개다, 겹치다”의 의미로 중첩을 의미합니다. 서브쿼리에 unnest 힌트를 사용하게 되면, 서브쿼리를 펴서 메인쿼리와 조인으로 풀어내겠다는 … Read more

키 보존 테이블 (Key-Preserved Table) in Oracle

1. 키 보존 테이블이란? 키 보존 테이블(Key-Preserved Table) 은 View(뷰)에서 특정 테이블의 기본 키(Primary Key)가 유지되는 테이블을 의미합니다. (뷰에 rowid를 제공하는 테이블)즉, 뷰를 통해 SELECT, INSERT, UPDATE, DELETE 작업을 수행할 … Read more

Lock Escalation (락 에스컬레이션) in Oracle

1. Lock Escalation 개요 Lock Escalation(락 에스컬레이션) 은 데이터베이스에서 트랜잭션이 획득한 잠금(Lock)의 범위가 증가하여 더 큰 범위를 잠그는 과정을 의미합니다.즉, 많은 개별 행(row) 잠금을 유지하는 대신, 일정 임계치를 초과하면 테이블 … Read more

Write Ahead Logging (WAL)

Oracle의 Write-Ahead Logging (WAL) Oracle에서는 Write-Ahead Logging (WAL) 개념이 Redo Log와 Undo Log를 통해 구현됩니다. WAL은 데이터를 디스크의 데이터 파일에 기록하기 전에, 먼저 로그(redo log)에 기록하는 기법으로, 장애 발생 시 … Read more

Scalable Sequence (오라클18c)

Oracle 18c에서 Scalable Sequence(확장 가능한 시퀀스)는 대량의 트랜잭션이 발생하는 환경에서 시퀀스 생성의 성능을 향상시키기 위해 도입된 기능입니다. 이는 특히 다중 노드 RAC(Real Application Clusters) 환경이나 병렬 트랜잭션이 많은 OLTP(Online Transaction … Read more

클러스터 테이블(Clustered Table)

클러스터 테이블(Clustered Table)은 데이터가 물리적으로 클러스터링되어 저장되는 방식으로, 관련 데이터가 동일한 디스크 블록에 가깝게 저장되도록 하는 데이터베이스 테이블 유형입니다. 이를 통해 특정 쿼리 성능을 최적화할 수 있습니다. 1. 클러스터 테이블 … Read more

오라클 Index Unique Scan

Index Unique Scan은 고유한(UNIQUE) 인덱스나 Primary Key(PK) 인덱스를 이용하여 단 하나의 값을 빠르게 조회할 때 사용되는 인덱스 스캔 방식입니다. 참고로 오라클에서 Primary Key(PK) 인덱스는 테이블 생성 시 자동으로 만들어집니다. 1️⃣ … Read more

오라클(Oracle) Index Scan 종류

오라클(Oracle)에서 Index Scan은 인덱스를 활용하여 데이터를 조회하는 방식이며, 다양한 방식으로 수행될 수 있습니다. 주요 Index Scan의 종류는 다음과 같습니다. 1. Index Unique Scan 2. Index Range Scan 3. Index Full … Read more