본문 바로가기

2021 정보처리기사/3과목: 데이터베이스 구축

[2021 정보처리기사-3과목] 인덱스(Index)

728x90
반응형

 

[정보처리기사 3과목 필기 예상 키워드] 목록으로 돌아가기
과목: 3. 데이터베이스 구축
챕터: 2장 물리 DB 설계
키워드: 인덱스(Index)
 #B+ 트리 인덱스
#비트맵 인덱스
#함수기반 인덱스

목차

 

 

 

 

 

 

인덱스

개요

✔ 테이블에서 원하는 데이터를 쉽고 빠르게 찾기 위해서 사용된다

✔ 자주 사용되는 필드 값으로 만들어진 원본 테이블의 사본이라고 생각할 수 있다

✔ 빠른 조회를 위해 키와 포인터로 구성

✔ 인덱스를 사용하면 테이블 전체를 읽지 않아도 되므로 검색과 질의에 대한 처리가 빠르게 이루어짐

✔ 사용자가 직접 접근할 수는 없으며 검색과 질의에 대한 처리에서만 사용된다

 

 

B트리 기반 인덱스

-일반적으로 사용되는 인덱스 방식으로 루트노드에서 하위노드로 비교해 나가며 데이터검색
-모든 리프 노드는 같은 레벨에 있음

 

 

 

B+ 트리 기반 인덱스

> 일반적인 선형탐색보다 월등히 빠름
> 일반적인 트리 노드로 전체 노드를 순회한다고 하면 비효율적이므로 B+ 트리를 이용

> 단말 노드가 아닌 노드로 구성된 인덱스 세트(Index Set)와단말 노드로만 구성된 순차 세트(Sequence Set)로 구분

> 인덱스 세트에 있는 노드들은 단말 노드에 있는 키 값을 찾아갈 수 있는경로로만 제공되며 순차세트에 있는 단말 노드가 해당 데이터 레코드의 주소를 가리킴

> 인덱스 세트에 있는 모든 키 값이 단말 노드에 다시 나타나므로 단말 노드만을 이용한 순차 처리가 가능하다

> 모든 노드(키)를 리프노드로 내리고, 위에는 인덱싱을 위한 키를 생성한다

 

 

비트맵 인덱스

- 대표적인 예시: 색상정보
- 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법
- 키 값을 포함하는 행(로우)의 개수를 파악하는데(주소를 제공하는데) 유용
- 분포도가 낮은(=데이터 종류가 적고 동일한 데이터가 많은) 경우 최적의 성능 발휘 
- 동일한 값이 반복될 확률이 높아 압축 효율이 매우 좋다

 

 

함수기반 인덱스

-함수 결과에 B+ 트리 인덱스/ 비트맵 인덱스 생성
-컬럼 값 자체가 아니라 컬럼에 특정 함수를 적용한 값
-부하량: 시스템함수<사용자 정의 함수

 

 

비트맵 조인 인덱스

- 조인이 가능한 두 테이블의 공통 열에 대한 비트맵 인덱스 생성
- 실제로 조인을 하지 않고 작업 가능

 

 

도메인 인덱스

-개발자가 필요한 인덱스를 직접 만들어 사용

 

 

인덱스 설계

 

개요

프로젝트 진행 중에는 데이터나 프로세스 내용 등에 변경이 많기 때문에 처음부터 모든 인덱스를 한꺼번에 정의하는 것은 불가능하다. 인덱스 설계 단계에서는 기본적인 인덱스를 지정하고, 프로젝트를 지정하면서 SQL 문장구조 등을 검토하여 반복적으로 인덱스 설계를 진행해야 한다


순서

1) 대상 테이블/컬럼 선정
2) 효율성 검토 + 인덱스 최적화 수행
3) 인덱스 정의서 작성

 

고려사항

-새로 추가되는 인덱스는 기존 액세스 경로에 영향을 미칠 수 있음
-인덱스를 지나치게 많이 만들면 오버헤드가 발생함
-넓은 범위를 인덱스로 처리하면 많은 오버헤드가 발생함
-인덱스를 만들면 추가적인 저장 공간이 필요함
-인덱스와 테이블 데이터의 저장 공간이 분리되도록 설계

 

 

 

 

 

 

 

 

 

 


 

 

[2021 정보처리기사 필기 총정리] 3과목 (상시업데이트)

목차 2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없

y-oni.tistory.com

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

 

 

 

728x90