250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 자바
- 이팩티브 자바
- 도메인 주도 개발 시작하기
- AWS
- 네트워크
- 혼공SQL
- DDD
- 인덱스
- 클린코드
- MariaDB
- 자바예외
- 알고리즘분석
- 스프링부트와AWS로혼자구현하는웹서비스
- vue.js
- react
- 기술면접
- aop
- mysql
- 이펙티브 자바
- CleanCode
- 이펙티브자바
- AWS RDS
- 알고리즘
- java
- 인프런김영한
- jpa
- 자바스터디
- 인프런백기선
- SQL쿡북
- 자료구조
Archives
- Today
- Total
기록이 힘이다.
[혼공 SQL] 인덱스의 내부 작동 본문
728x90
클러스트형 인덱스와 보조 인덱스는 모두 내부적으로 균형 트리로 만들어집니다.
인덱스의 내부 작동 원리
균형트리의 개념
균형 트리 구조에서 데이터가 저장되는 공간을 노드 node라고 합니다.

노드를 MySQL에서는 페이지page라고 부릅니다. 페이지는 최소한의 저장 단위로, 15Kbyte(16384byte) 크기를 가집니다.
균형 트리 구성 여부에 따라 읽어야 하는 페이지 수의 차이가 상당히 큽니다.
균형 트리의 페이지 분할
인덱스는 균형 트리로 구성되어 있습니다. 즉, 인덱스를 만들면 SELECT의 속도를 향상시킬 수 있습니다. 그런데 인덱스를 구성하면 데이터 변경 작업(INSERT, UPDATE, DELETE) 시 성능이 나빠집니다. 특히 INSERT 작업이 일어날 때 더 느리게 입력될 수 있습니다. 이유는 페이지 분할이라는 작업이 발생하기 때문입니다.

인덱스의 구조
클러스터형 인덱스 구성하기



보조 인덱스 구성하기



'SQL' 카테고리의 다른 글
데이터타입 지정 (0) | 2022.12.16 |
---|---|
[혼공 SQL]인덱스의 실제 사용 (0) | 2022.12.15 |
[혼공 SQL] 인덱스 개념을 파악하자 (0) | 2022.12.14 |
[혼공 SQL] 가상의 테이블: 뷰 (0) | 2022.12.14 |
[혼공 SQL] 제약조건으로 테이블을 견고하게 (0) | 2022.12.13 |