클러스터 테이블(Clustered Table)

클러스터 테이블(Clustered Table)

클러스터 테이블(Clustered Table)은 데이터가 물리적으로 클러스터링되어 저장되는 방식으로, 관련 데이터가 동일한 디스크 블록에 가깝게 저장되도록 하는 데이터베이스 테이블 유형입니다. 이를 통해 특정 쿼리 성능을 최적화할 수 있습니다. 1. 클러스터 테이블 개요 클러스터 테이블은 동일한 키 값을 가진 여러 행이 물리적으로 가까운 위치에 저장되도록 구성됩니다. 이는 I/O 성능을 향상시키고 디스크 읽기 비용을 절감하는 데 유용합니다. ✅ … Read more

오라클 Index Unique Scan

오라클 Index Unique Scan

Index Unique Scan은 고유한(UNIQUE) 인덱스나 Primary Key(PK) 인덱스를 이용하여 단 하나의 값을 빠르게 조회할 때 사용되는 인덱스 스캔 방식입니다. 참고로 오라클에서 Primary Key(PK) 인덱스는 테이블 생성 시 자동으로 만들어집니다. 1️⃣ 특징 ✔ 항상 하나의 결과(또는 존재하지 않음)를 반환✔ 고유한 값(UNIQUE, PRIMARY KEY) 조건일 때만 작동✔ 가장 빠른 인덱스 검색 방법 중 하나✔ B-Tree 인덱스에서 루트 … Read more

비관적 동시성 제어 (Pessimistic Concurrency Control) vs 낙관적 동시성 제어 (Optimistic Concurrency Control)

비관적 동시성 제어 (Pessimistic Concurrency Control) vs 낙관적 동시성 제어 (Optimistic Concurrency Control)

트랜잭션 동시성 제어 방식에는 크게 비관적 동시성 제어(Pessimistic Concurrency Control, PCC)와 낙관적 동시성 제어(Optimistic Concurrency Control, OCC) 두 가지가 있습니다. 각각의 방식은 동시성 문제를 해결하는 접근 방식이 다릅니다. ※ 참고로 금융권에서는 FOR UPDATE 구문을 당연하게 사용합니다. 다른 분야에서는 FOR UPDATE 구문을 꺼리는 경향이 있는데, “데이터의 변경”을 목적으로 SELECT를 하는 경우라면 저는 FOR UPDATE 구문을 당연히 … Read more

오라클 Lock (트랜젝션 동시성 제어)

오라클 Lock (트랜젝션 동시성 제어)

오라클에서 Lock(잠금)은 여러 사용자가 동시에 같은 데이터에 접근할 때 데이터의 무결성을 보장하고 경합을 방지하기 위해 적용되는 메커니즘입니다. 오라클 Lock은 크게 DML Lock, DDL Lock, System Lock, 그리고 Latch(래치) 및 내부 잠금 메커니즘으로 분류됩니다. 참고로, 오라클은 읽어올 때 최소단위가 Block단위이고, 한 블록에 여러 Row가 적재되어 있으므로, 한 Row에 Update를 하더라도, 같은 Block에 Lock이 걸리면 영향이 없는 … Read more

IOT(Indexed Organized Table)

IOT(Indexed Organized Table)

Oracle의 IOT(Indexed Organized Table) 테이블은 B-tree 인덱스 구조를 기반으로 데이터를 저장하는 특수한 테이블입니다. 일반 테이블(Heap Organized Table)과는 다르게, 기본 키(Primary Key)를 기반으로 데이터를 정렬하여 저장합니다. 📌 IOT 테이블 특징 📌 IOT 테이블 생성 방법 CREATE TABLE iot_table ( id NUMBER PRIMARY KEY, name VARCHAR2(100), age NUMBER) ORGANIZATION INDEX; 📌 IOT 테이블 성능 튜닝 📌 IOT … Read more

TOP N 쿼리

TOP N 쿼리

TOP N 쿼리란? TOP N 쿼리는 주어진 조건에 따라 상위 N개의 행(Row)만 조회하는 SQL 쿼리를 의미합니다.예를 들어, 급여가 가장 높은 직원 5명을 조회하거나, 가장 많이 판매된 상품 10개를 조회하는 경우가 이에 해당합니다. 1. Oracle 12c 이상: FETCH FIRST N ROWS ONLY 사용 (권장) Oracle 12c부터는 SQL 표준인 FETCH FIRST N ROWS ONLY 구문을 지원하여 간단하게 … Read more