스칼라 서브쿼리(Scalar Subquery)

스칼라 서브쿼리(Scalar Subquery)

스칼라 서브쿼리(Scalar Subquery)는 단일 값을 반환하는 서브쿼리입니다.즉, SELECT 문이 실행될 때 하나의 행과 하나의 열(단일 값)만 반환하는 서브쿼리를 의미합니다. 1. 스칼라 서브쿼리의 특징 ✔ 반환 값이 반드시 하나(1개 행, 1개 열)✔ 메인 쿼리의 컬럼과 함께 사용할 수 있음✔ 각 행마다 실행될 수 있어 성능 저하 가능✔ NULL을 반환할 수도 있음 2. 스칼라 서브쿼리의 사용 예제 … Read more

비트맵 인덱스(Bitmap Index)

비트맵 인덱스(Bitmap Index)

비트맵 인덱스(Bitmap Index)는 데이터베이스에서 인덱싱을 최적화하기 위해 사용하는 인덱스 기법 중 하나입니다. 비트맵 인덱스는 각 고유한 값에 대해 비트 배열(비트맵)을 생성하여 데이터를 효율적으로 검색할 수 있도록 합니다. 특히 값의 종류(카디널리티, Cardinality)가 적은 경우(예: 성별, 상태값, 부서 코드 등)에 매우 효과적입니다. (OLTP보단 OLAP에서 효과적) 1. 비트맵 인덱스의 동작 방식 비트맵 인덱스는 각 열(column)의 고유한 값(unique value)에 … Read more

Consistent Mode vs. Current Mode in Oracle

Consistent Mode vs. Current Mode in Oracle

Oracle 데이터베이스에서 데이터를 읽고 처리할 때, Consistent Mode(일관성 모드)와 Current Mode(현재 모드) 두 가지 방식이 존재합니다.이 모드는 쿼리의 실행 방식과 데이터 일관성을 유지하는 방법에 따라 결정됩니다. 1. Consistent Mode (일관성 모드) Consistent Mode(일관성 모드)는 쿼리 실행 시점의 일관된 데이터를 제공하는 방식입니다.즉, 쿼리가 시작된 시점의 SCN(System Change Number, 변경 번호) 기준으로 데이터를 반환합니다. ✅ 특징 📌 … Read more

병렬 INSERT in Oracle

병렬 INSERT in Oracle

Oracle에서는 병렬 INSERT를 통해 데이터를 빠르게 삽입할 수 있습니다. 일반적인 INSERT 작업은 단일 세션에서 수행되지만, 병렬 처리(Parallel Processing)를 이용하면 여러 개의 프로세스가 동시에 데이터를 삽입하여 성능을 향상시킬 수 있습니다. 1. 병렬 INSERT 개념 병렬 INSERT는 여러 개의 병렬 프로세스를 활용하여 데이터를 삽입하는 기법입니다. Oracle은 데이터를 블록 단위로 나누고 여러 개의 프로세스가 동시에 데이터를 쓰도록 하여 … Read more

클러스터 테이블(Clustered Table)

클러스터 테이블(Clustered Table)

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