목차
덱스는 알아도 인덱스는 잘 몰르는디,,
처음 운영 데이터를 만지면서 가장 중요한 것 중 하나는 바로 '인덱스' 였다.
그냥 솔지에서 덱스 같은 역할이라고 보면된다.
데이터를 읽는 Key가 되어 준달까 오호호홍.
여튼.. 종종 정산데이터를 업로드 한다거나,
대량데이터를 업데이트 해줘야 하는 일들이 발생하곤 했는데,
그럴 때마다 내가 짠 쿼리는 참 오래 걸렸다.
차장님한테 여쭤보니, 인덱스는 만들었냐고 물으셨다.
그렇구나 인덱스가 필요하구나 !

인덱스
- KEY + VALUE
인덱스의 탐색
- 수직적 탐색 시작점 검색 Random Access
ROOT : 최상위 노드 BRANCH : ROOT & LEAF 의 연결고리 LEAF : KEY + Rowid (블록주소) > leaf node는 정렬되어 있음
- Root > Branch > Leaf
- 수평적 스캔Sequential Access
- Leaf Block의 시작점 ~ 종료점 까지
- 테이블 Random Access
- 데이터 블록을 읽는 케이스
- 결과가 10% 미만인 경우, 10% 이상인 경우 어떻게 읽는게 좋은가 ?10%이상 == Full Scan
- (그렇다고 항상 그런것은 아님, 일반적으로 그렇다)
- 10%미만 == Index Scan
Random Access vs Sequential Access
sequential | random |
---|---|
하나의 블록에서 순차적으로 리딩 | 주로 하나의 블록에서 하나의 레코드만 읽음 |
알차게 빼 먹는다 | 효율이 낮음 / 높은 비용 |
index leaf block 읽을 때 / full scan 할 때 | Rowid 이용 테이블 액세스 |
적은 비용 | DBA 를 이용한 인덱스 수직적 탐색 |
Full scan 일 경우 Multi - Block I/O 가능 | 클러스터링팩터(C.F)가 낮을 때 높은 성능 |
Single Block I/O ( 1번블 => 1번블 해야함) |
🤑 비용 ?
Table Radom Access > 수직적 탐색 > 수평적 탐색
'Database' 카테고리의 다른 글
오라클 DBMS 구조 (0) | 2025.04.04 |
---|---|
인덱스와 조인 #2 (0) | 2025.04.04 |
HOT update (0) | 2025.04.04 |
Oracle vs PostgreSQL (0) | 2025.04.04 |
DB | ORACLE 무료 버전 설치 1 (1) | 2025.03.02 |