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 | 31 |
Tags
- select
- 인프런
- 정처기
- doitandroid
- 카카오코테
- 자료구조
- 정보처리기사
- 티스토리챌린지
- Til
- 기술면접
- 코틀린
- Kotlin
- groupby
- 오블완
- 코테
- 스터디
- 프로그래머스
- 혼공파
- 혼공챌린지
- MySQL
- 알고리즘
- CS
- 안드로이드스튜디오
- join
- Android
- 혼공단
- 자바
- 안드로이드
- SQL
- java
Archives
- Today
- Total
Welcome! Everything is fine.
#16. 인덱스(Index)란? 인덱스의 목적, 장단점 본문
728x90
인덱스(Index)란?
- 인덱스란 데이터베이스 테이블의 검색 속도를 향상시켜주는 자료 구조이다. 책에서 원하는 내용을 빠르게 찾기 위해 책의 앞이나 뒤에서 볼 수 있는 색인과 같다.
- 특정 값을 검색할 때, 테이블에 있는 데이터를 모두 돌아보고 검색한다면 시간이 많이 걸릴 것이다. 인덱스를 활용하면 면 해당 컬럼의 값과 저장된 주소를 키와 값의 쌍으로 만들어둘 수 있다.
인덱스는 왜 사용할까?
- 인덱스는 검색 속도를 높이기 위한 목적으로 사용한다.
- 이미 정렬이 되어있기 때문에 SELECT 쿼리의 검색에 효율적이지만, 반대로 정렬된 상태를 계속 유지시켜주어야 하기 때문에 DML(DELETE, INSERT, UPDATE)이 자주 일어나는 컬럼에는 사용을 피해야 한다.
인덱스의 장점
- 검색과 정렬 속도를 향상시킬 수 있다.
- 컬럼의 고유성을 강화시킬 수 있다.
- 전반적인 시스템 부하를 줄일 수 있다.
인덱스의 단점
- 인덱스를 만들기 위해서는 추가 공간(DB의 10% 내외의 공간)이 필요하다.
- 인덱스된 필드에서 DML(DELETE, INSERT, UPDATE)이 일어날 때 성능이 떨어진다.
- 인덱스를 생성하는 시간이 오래 걸릴 수 있다.
'CS 스터디' 카테고리의 다른 글
[DB] 7월 2주차 기술면접 질문 정리 (0) | 2024.07.19 |
---|---|
#17. HTTPS란? (0) | 2024.03.19 |
#15. 멀티 프로세스와 멀티 스레드 (0) | 2024.03.07 |
#14. 힙(Heap) (0) | 2024.02.27 |
#13. 트리(Tree) (1) | 2024.02.27 |