본문 바로가기
정보처리기사

정보처리기사 필기(물리 데이터베이스 설계) 인덱스 설계

by 열정적인 이찬형 2022. 1. 23.
※본 내용은 스스로 공부하며 중요하다고 생각하는 부분만 정리한 내용입니다. 

공부 서적(시나공 정보처리기사 필기책)

시나공 정보처리기사 필기
〈2022 시나공 정보처리기사 필기〉는 출제기준에 포함된 125개의 학습 모듈을 완전 분해하여 정보처리기사 수준에 맞게 205개 섹션으로 엄선하여 정리하였습니다. 비전공자들이 쉽게 학습 방향을 잡을 수 있도록 NCS 학습 모듈을 가이드 삼아 자세한 설명과 충분한 예제를 더했고, 책에 수록된 내용은 어떠한 변형 문제가 나오더라도 대처할 수 있도록 최대한 자세하고 쉽게 설명했습니다.〈기억상자&기출 CBT〉 ‘기억상자’ 암기 프로그램으로 반복 학습을 통해 틀린 문제는 틀리지 않을 때까지, 맞혔던 문제는 안전하게 머릿속에 담아 시험장에 가지고 갈 수 있도록 해주고, 실제 시험장과 똑같은 기출문제 CBT로 마무리 학습 및 시험 전 현장 감각을 키울 수 있습니다(WWW.MEMBOX.CO.KR).
book.naver.com
출처: 시나공 정보처리기사 필기

저자: 김정준,강윤석,김용갑,김우경

출판사 : 길벗


인덱스 설계


인덱스 : 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 구성된 구조

DDL을 이용해 생성/변경/제거 가능, 엔트리 순서와 일치하게 유지되어 구성되는 것을 클러스터드 인덱스라고 한다.

트리 기반 인덱스
  • 트리구조 형식, B+트리 인덱스 주로 활용
  • B트리 인덱스 : 일반적인 인덱스 방식, 오름차순 저장, 모든 리프 노드는 같은 레벨, 브랜치 블록(분기 목적, 포인터 사용)/리프블록(컬럼 데이터와 해당 데이터의 행위치 가르키는 레코드 식별자)로 구성
  • B+트리 인덱스 : 단말노드로 구성된 순차 세트, 키값을 찾아갈 수 있는 경로 제공, 단말 노드만 순차처리 가능

비트맵 인덱스

  • 데이터를 Bit값으로 변환하여 인덱스 키로 사용
  • 분포도 좋은 컬럼에 적합, 성능 향상 효과, 저장공간 작다, 효율적인 논리 연산 가능
  • 동일한 값 반복시 압출 효율이 좋음, 다중 조건 만족하는 계수 계산에 적합

함수 기반 인덱스

  • 함수나 수식을 통해 산출된 값을 인덱스 키로 사용
  • 함수 적용으로 부하 발생, 사용자 정의 함수는 시스템 함수보다 부하 크다.
  • 대소문자, 띄어쓰기 등 상관없이 조회할 때 유용

비트맵 조인 인덱스

  • 다수의 조인된 객체로 구성된 인덱스, 비트맵 인덱스와 물리적 구조 동일

도메인 인덱스

  • 필요한 인덱스 개발자가 직접 만들어 사용, 확장형 인덱스
  • 프로그램에서 제공하는 것처럼 사용 가능

인덱스 설계

  • 인덱스 데생의 테이블이나 컬럼 등 선정
  • 인덱스 최적화 수행
  • 인덱스 정의서 작성

인덱스 대상 테이블 선정 기준

  • MULTI BLOCK READ(메모리가 한번에 있을 수 있는 블록의 수) 수에 따른 판단
  • 랜덤 액세스 빈번한 테이블, 특정 순서나 범위로 조회가 필요한 테이블
  • 순차적 조인 발생되는 테이블

인덱스 대상 컬럼 선정 기준

  • 컬럼의 분포도 10%~15%(컬럼값 평균ROW수/테이블의 총 ROW수×100)
  • 10%~15%이상이어도 부분처리 목적 컬럼
  • 조회 및 출력 조건으로 사용되는 컬럼, 기본키나 Unique키 제약조건 사용한 컬럼
  • 수정 빈번하지 않는 컬럼, ORDER BY,GROUP BY, UNION이 빈번한 컬럼

고려사항

  • 기존 액세스 경로 영향, 지나치게 만들면 오버헤드
  • 넓은 범위로 인덱스 처리시 많은 오버헤드, 추가적 저장공간
  • 테이블 데이터의 저장 공간이 분리되도록 설계

댓글