Tiny Star

📊DataBase/📈SQL

[🪪SQLD] 2과목 - SQL 활용 : PIVOT 절과 UNPIVOT 절 (24년 개정 요약)

청크 2024. 2. 22. 12:11

· PIVOT : 데이터를 행 기반에서 열 기반으로 바꾸는 것

· UNPIVOT : 데이터를 열 기반에서 행 기반으로 바꾸는 것

 

[테이블 파티션 Table Partition]

· 파티션 기능

 -> 대용량의 테이블을 여러 개의 데이터 파일에 분리하여 저장

 

1) 테이블의 데이터가 물리적으로 분리된 데이터 파일에 저장되면 입력, 수정, 삭제, 조회 성능이 향상 (조회 시 데이터 범위 축소로 성능향상)

 2) 파티션 별로 독립적으로 관리가 가능(백업 복구 및 전용 인덱스 생성)

 3) Oracle DB의 논리적 관리 단위인 테이블 스페이스 간 이동이 가능

 

· 파티션 분할 방법

 1) Range Partition

   - 테이블의 칼럼 중에서 값의 범위를 기준으로 여러 개의 파티션으로

데이터를 나누어 저장하는 것

 2) List Partition

   - 특정 값을 기준으로 분할하는 방법

 3) Hash Partition

   - DBMS가 내부적으로 해시 함수를 사용해서 데이터를 분할

     즉, DBMS가 알아서 분할하고 관리하는 것

 

· 파티션 인덱스

 1) Global Index : 여러 개의 파티션에서 하나의 인덱스를 사용

 2) Local Index : 해당 파티션 별로 각자의 인덱스 사용

 3) Prefixed Index : 파티션 키와 인덱스 키가 동일

 4) Non Prefixed Index : 파티션 키와 인덱스 키가 다름

 * Oracle은 Global Non-Prefixed 지원하지 않음