일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 카프카
- 자바공부
- 스프링부트
- 스프링
- nestjs스터디
- JPA
- JPA스터디
- 기술면접공부
- Kafka
- 기술공부
- nestjs공부
- 스프링부트공부
- Flutter
- querydsl
- 스프링 공부
- K8S
- JPA공부
- 프로그래머스
- JPA 공부
- Axon framework
- 코테공부
- 플러터 개발
- nestjs
- 알고리즘공부
- JPA예제
- 코테준비
- DDD
- 스프링공부
- 자료구조공부
- 플러터 공부
- Today
- Total
목록데이터베이스 인덱스 (2)
DevBoi
인덱스 동작과정에 대해서 알아보자 RDBMS에서 대용량으로 데이터가 있을때, 해당 데이터를 full scan하는 것이아니라 특정 컬럼들을 키로, 해당 데이터들을 가지고있어서, 필요할때 range scan을 하면서 검색 효율을 높이는 것이다. range Scan이란, 특정 위치에서 검색을 시작해, 일치 하지 않는 범위를 만나면 멈추는 것을 의미한다. 가장 일반적인 인덱스 는 비트리 형태로 이루어져 있다. 비트리(B-tree)란? * 모든 리프 노드들이 같은 레벨을 가질수 있도록 관리되는 이진 트리이다. 비트리에서의 탐색과정은, 검색 대상을 key와 비교하고, 해당 key보다 크면, 더 큰 key값으로 이동하여, 범위에 맞는 예를 들면, 10,20이 키면, 18검색시에, 10과 20사이의 key값에 해당하는..
데이터베이스의 인덱스란, 추가적인 쓰기작업과 저장공간을 활용하여, 검색 성능을 향상 시키는 방법이다. full scan을 하지않고, 인덱스를 활용하여 데이터가 존재하는 곳의 위치를 빠르게 찾을수 있다. 인덱스를 활용하면, select, update, delete를 빠르게 처리할수있다. 해당 사유는, 해당 작업을 하기 위해 선작업이 되는것이 먼저 select 이기 때문이다. index는 최신의 정렬상태를 유지해야하기 때문에, insert나, delete, update 작업을 할때, index가 걸려있는 것이라면, 추가적인 연사을 해준다. (index 재정렬이 필요하기 때문에) 일단, 구조를 알기전에 장단점을 알자 장점 : 검색속도 향상, 전반적인 시스템 부하를 줄일수있다. 단점 : 인덱스 관리를 위해 db..