인덱스 개념
두꺼운 책에서 원하는 자료를 찾을 경우 가장 뒤에 있는 '찾아보기'에서 원하는 자료의 페이지를 확인 후 해당 페이지에서 원하는 자료를 찾는 방법과 유사해요!
인덱스는 원하는 자료를 빠르고 효율적으로 검색하기 위해 사용하는 방법을 말합니다.
인덱스의 구성
1. 기본적으로 데이터의 위치(주소)를 관리, 기억하는 인덱스 파일
2. 실제 데이터를 기억하는 데이터 파일
인덱스의 검색 과정
1. 데이터 검색
2. 인덱스 파일에서 데이터 주소 찾기
3. 인덱스 파일에서 찾은 주소의 데이터를 데이터 파일에서 검색
인덱스의 장단점
장점 | 단점 |
데이터 검색 속도의 향상 | 추가 DB 공간의 필요 |
시스템 부하 감소 | 인덱스 생성 시간 소요 |
시스템 전체의 성능 향상 | 잦은 변경 작업으로 인한 성능저하 |
인덱스 구조
인덱스는 기본적으로 B-트리 구조를 많이 사용하지만, 기타 유형으로 클러스터드 인덱스와 넌 클러스터 인덱스가 있습니다.
클러스터드 인덱스와 넌 클러스터드 인덱스 차이점
클러스터드 인덱스 | 넌 클러스터드 인덱스 |
정렬 O | 정렬 X |
하나의 속성을 기준으로 정렬시킨 후, 테이블을 재구성하여 인덱스를 만드는 방법 | 넌 클러스터드 인덱스는 인덱스를 테이블을 재구성하지 않고(=정렬하지 않고) 데이터 주소를 이용하여 인덱스를 만들어 주소값을 이용하여 검색하는 방법 |
하나의 테이블에는 하나의 인덱스만 가능 | 하나의 테이블에 여러개의 인덱스 만들 수 있다. |
테이블의 물리적 순서(실제 순서)와 인덱스 순서가 동일하다. | 인덱스 구조보다 다소 복잡해질 수 있다. |
728x90
'📓 Study > Tech Interview' 카테고리의 다른 글
try-with-resource에 대해서 설명해주세요. (0) | 2021.10.29 |
---|---|
Java 8에서 추가된 기능에 대해 설명해주세요. (0) | 2021.10.22 |
🧩클래스와 🏠객체는 각각 무엇인가요? (0) | 2021.09.24 |
IPC(Inter Process Communication)란? (0) | 2021.09.23 |
이상(Anomaly)이란? (0) | 2021.09.22 |
댓글