Oracle 데이터베이스에서 테이블이나 인덱스에 데이터를 저장할 때, 공간 관리와 성능 최적화를 위해 FreeList와 HWM(High Water Mark)가 중요한 역할을 합니다.
| 개념 | 설명 |
|---|---|
| FreeList | 테이블이나 인덱스에서 새로운 데이터가 삽입될 수 있는 여유 공간(블록) 목록 |
| HWM (High Water Mark) | 테이블에서 한 번이라도 데이터가 기록된 가장 마지막 블록의 위치 |
FreeList란?
FreeList 관리 방식
📌 FreeList 개수 조정 예제
ALTER TABLE employees STORAGE (FREELISTS 5); ✔ FreeList가 중요한 이유
HWM이란?
✔ HWM의 특징
| 단계 | 설명 |
|---|---|
| 1. 새로운 INSERT 발생 | FreeList에서 사용 가능한 블록을 찾음 |
| 2. 빈 블록이 FreeList에 존재하면 | FreeList에서 가져와 데이터를 저장 |
| 3. FreeList에 빈 블록이 없으면 | HWM을 증가시켜 새로운 블록 할당 |
📌 FreeList 사용 예제
INSERT INTO employees VALUES (1001, 'John Doe', 'IT'); ✔ 동작 방식:
데이터를 삭제해도 HWM이 줄어들지 않음.
즉, FULL TABLE SCAN 시 여전히 삭제된 블록을 스캔해야 하므로 성능 저하 가능.
📌 예제: DELETE 수행 후 HWM 유지됨
DELETE FROM employees WHERE department = 'IT'; ✔ 문제점:
TRUNCATE 명령어를 사용하면 HWM이 리셋되므로, FULL TABLE SCAN 시 불필요한 블록을 스캔하지 않음.
TRUNCATE TABLE employees; ✔ 결과:
SHRINK SPACE 명령을 사용하면 HWM을 낮추면서 데이터를 유지할 수 있음.
ALTER TABLE employees ENABLE ROW MOVEMENT;
ALTER TABLE employees SHRINK SPACE; ✔ 결과:
ALTER TABLE sales STORAGE (FREELISTS 10); ✔ 결과:
TRUNCATE TABLE orders; ✔ HWM 초기화 + FreeList 재설정ALTER TABLE orders ENABLE ROW MOVEMENT; ALTER TABLE orders SHRINK SPACE; ✔ HWM을 낮추면서 데이터 유지 가능CREATE TABLE orders (
order_id NUMBER,
order_date DATE
)
PARTITION BY RANGE (order_date) (
PARTITION p_2023 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD')),
PARTITION p_2024 VALUES LESS THAN (TO_DATE('2025-01-01', 'YYYY-MM-DD'))
); ✔ 결과:
| 항목 | FreeList | HWM (High Water Mark) |
|---|---|---|
| 개념 | 사용 가능한 빈 블록 목록 | 한 번이라도 데이터가 저장된 마지막 블록 위치 |
| 역할 | 새로운 데이터 삽입 시 사용 가능한 공간 제공 | FULL TABLE SCAN 범위를 결정 |
| INSERT 시 영향 | 빈 블록이 있으면 재사용, 없으면 HWM 증가 | FreeList에 공간이 없으면 HWM 증가 |
| DELETE 후 영향 | FreeList에 공간 추가 가능 | 삭제 후에도 HWM이 줄어들지 않음 |
| 최적화 방법 | FreeList 개수 증가 | TRUNCATE, SHRINK SPACE 사용 |
| FULL TABLE SCAN 시 영향 | 영향 없음 | HWM까지 모든 블록을 읽어야 하므로 성능에 영향 |
✅ FreeList는 INSERT 성능을 향상시키는 핵심 요소이며, HWM은 FULL SCAN 성능에 영향을 미치는 중요한 지표
✅ DELETE를 수행해도 HWM은 줄어들지 않으므로 TRUNCATE 또는 SHRINK를 활용하여 최적화 가능
✅ 대량의 데이터를 다루는 경우 FreeList와 HWM을 적절히 관리하면 성능을 크게 개선할 수 있음! 🚀
코스피 8% 폭락, 서킷브레이커 발동, SK텔레콤 Claude AI 차단까지. 한국의 AI 레버리지 버블이 단 하루…
SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…
SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…
달러/원 환율이 급등하는 이유와 실생활 영향을 정리했습니다. 지금 당장 활용할 수 있는 환전·투자 대응 전략까지…
미래에셋·미래에셋벤처투자·미래에셋생명이 동반 급등한 이유는 스페이스X 상장 기대감입니다. 세 회사가 스페이스X와 어떻게 연결되어 있는지 상세히 분석했습니다.
스페이스X 상장이 계속 미뤄지는 진짜 이유를 파헤쳤습니다. 화성 계획, 스타링크 분리, 국방 계약... 머스크가 절대…