[2023 정보처리기사] 3과목 – 10. 인덱스(Index), 뷰(View)

1. 인덱스(Index)

  1. 1. 인덱스의 개념

: 추가적인 저장공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조. ※목차, 힌트(Hint)

  1. 2. 인덱스 설계 시 고려사항

– 인덱스 컬럼은 수정이 빈번하지 않고, 분포도가 10~15% 이내인 컬럼을 선정.

– 지나치게 많은 인덱스는 오버헤드(Overhead)발생.

– 인덱스만의 추가적인 저장 공간 필요.

– 인덱스와 테이블의 저장공간이 분리되도록 설계.

  1. 3. 인덱스의 종류

클러스터드 인덱스(Clustered index): 한 개의 릴레이션에 하나의 인덱스만 생성.

넌클러스터드 인덱스(Non-Clustered index): 한 개의 릴레이션에 여러 개의 인덱스 생성 가능.

트리 기반 인덱스: 인덱스를 저장하는 블록들이 트리 구조를 이룸.

비트맵 인덱스: 컬럼의 데이터를 0 또는 1로 변환하여 인덱스 키로 사용.

함수 기반 인덱스: 컬럼의 값 대신 특정 함수나 수식을 적용.

도메인 인덱스: 개발자가 필요한 인덱스를 직접 만들어서 사용.

 

2. 뷰(View)

  2. 1. 뷰의 개념

: 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블

  2. 2. 뷰의 특징

– 기본 테이블과 같은 형태의 구조를 사용.

가상 테이블이기 때문에 물리적으로 구현되어 있지 않음.

– 데이터의 논리적 독립성 제공

  2. 3. 뷰의 장⋅단점

  • 장점

– 논리적 데이터 독립성 제공.

– 사용자의 데이터 관리가 용이.

– 접근 제어를 통한 자동 보안 제공.

– 동일 데이터에 대해 동시에 여러 사용자의 요구를 지원.

  • 단점

– 독립적인 인덱스를 가질 수 없음.

뷰의 정의를 ALTER로 변경 불가. DROP(삭제)후 CREATE(생성)해야함.

– 뷰로 구성된 내용에 대해 삽입, 삭제, 갱신 연산에 제약 존재.

Leave a Comment