※본 내용은 스스로 공부하며 중요하다고 생각하는 부분만 정리한 내용입니다.
공부 서적(시나공 정보처리기사 필기책)
출처: 시나공 정보처리기사 필기
저자: 김정준,강윤석,김용갑,김우경
출판사 : 길벗
인덱스 설계
인덱스 : 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 구성된 구조
DDL을 이용해 생성/변경/제거 가능, 엔트리 순서와 일치하게 유지되어 구성되는 것을 클러스터드 인덱스라고 한다.
트리 기반 인덱스- 트리구조 형식, B+트리 인덱스 주로 활용
- B트리 인덱스 : 일반적인 인덱스 방식, 오름차순 저장, 모든 리프 노드는 같은 레벨, 브랜치 블록(분기 목적, 포인터 사용)/리프블록(컬럼 데이터와 해당 데이터의 행위치 가르키는 레코드 식별자)로 구성
- B+트리 인덱스 : 단말노드로 구성된 순차 세트, 키값을 찾아갈 수 있는 경로 제공, 단말 노드만 순차처리 가능
비트맵 인덱스
- 데이터를 Bit값으로 변환하여 인덱스 키로 사용
- 분포도 좋은 컬럼에 적합, 성능 향상 효과, 저장공간 작다, 효율적인 논리 연산 가능
- 동일한 값 반복시 압출 효율이 좋음, 다중 조건 만족하는 계수 계산에 적합
함수 기반 인덱스
- 함수나 수식을 통해 산출된 값을 인덱스 키로 사용
- 함수 적용으로 부하 발생, 사용자 정의 함수는 시스템 함수보다 부하 크다.
- 대소문자, 띄어쓰기 등 상관없이 조회할 때 유용
비트맵 조인 인덱스
- 다수의 조인된 객체로 구성된 인덱스, 비트맵 인덱스와 물리적 구조 동일
도메인 인덱스
- 필요한 인덱스 개발자가 직접 만들어 사용, 확장형 인덱스
- 프로그램에서 제공하는 것처럼 사용 가능
인덱스 설계
- 인덱스 데생의 테이블이나 컬럼 등 선정
- 인덱스 최적화 수행
- 인덱스 정의서 작성
인덱스 대상 테이블 선정 기준
- MULTI BLOCK READ(메모리가 한번에 있을 수 있는 블록의 수) 수에 따른 판단
- 랜덤 액세스 빈번한 테이블, 특정 순서나 범위로 조회가 필요한 테이블
- 순차적 조인 발생되는 테이블
인덱스 대상 컬럼 선정 기준
- 컬럼의 분포도 10%~15%(컬럼값 평균ROW수/테이블의 총 ROW수×100)
- 10%~15%이상이어도 부분처리 목적 컬럼
- 조회 및 출력 조건으로 사용되는 컬럼, 기본키나 Unique키 제약조건 사용한 컬럼
- 수정 빈번하지 않는 컬럼, ORDER BY,GROUP BY, UNION이 빈번한 컬럼
고려사항
- 기존 액세스 경로 영향, 지나치게 만들면 오버헤드
- 넓은 범위로 인덱스 처리시 많은 오버헤드, 추가적 저장공간
- 테이블 데이터의 저장 공간이 분리되도록 설계
'정보처리기사' 카테고리의 다른 글
정보처리기사 필기(물리 데이터베이스 설계) 클러스터 설계 (0) | 2022.01.25 |
---|---|
정보처리기사 필기(물리 데이터베이스 설계) 뷰(View) 설계 (0) | 2022.01.23 |
정보처리기사 필기(물리 데이터베이스 설계) 트랜잭션 분석/ CRUD 분석 (0) | 2022.01.23 |
정보처리기사 필기(물리 데이터베이스 설계) 데이터베이스 저장 공간 설계 (0) | 2022.01.23 |
정보처리기사 필기(물리 데이터베이스 설계) 사전 조사 분석 (0) | 2022.01.21 |
댓글