튜닝
튜닝(Tuning)의 개요
- 데이터베이스 튜닝이란 데이터베이스 응용 프로그램, 데이터베이스 자체, 운용체제 등의 조정을 통하여 데이터베이스 관리 시스템의 성능을 향상시키는 작업을 말한다.
- 데이터베이스 튜닝을 통해 데이터베이스 관리 시스템이 높은 작업 처리량과 짧은 응답 시간을 갖도록 하는 것이 중요하다.
인덱스 튜닝
인덱스 종류
- B-트리 인덱스
- 일반적으로 사용되는 인덱스 방식으로, 루트 노드에서 하위 노드로 키 값의 크기를 비교해 나가면서 단말 노드에서 찾고자 하는 데이터를 검색한다.
- 데이터 양에 상관없이 모든 데이터의 인덱스 탐색 시간이 동일하다.
- 비트맵 인덱스
- 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법이다.
- 분포도가 좋은 컬럼에 적합하며, 데이터가 Bit로 구성되어 있기 때문에 효율적인 논리 연산이 가능하고 저장 공간이 작다.
- 역방향 인덱스
- 인덱스 컬럼의 데이터를 역으로 변환하여 인덱스 키로 사용하는 방법.
- B-트리 인덱스에서 발생할 수 있는 불균형 문제를 해결한다.
- 데이터의 분포도가 좋아져 검색 성능이 좋다.
클러스터드 인덱스(Clustered Index)
- 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식.
- 실제 데이터가 순서대로 저장되어 있어 인덱스를 검색하지 않아도 원하는 데이터를 빠르게 찾을 수 있다.
- 데이터 삽입, 삭제 발생 시 순서를 유지하기 위해 데이터를 재정렬해야 한다.
- 한 개의 릴레이션에 하나의 인덱스만 생성할 수 있다.
넌클러스터드 인덱스(Non-Clustered Index)
- 인덱스의 키 값만 정렬되어 있을 뿐 실제 데이터는 정렬되지 않는 방식.
- 데이터를 검색하기 위해서는 먼저 인덱스를 검색하여 실제 데이터의 위치를 확인해야 하므로 클러스터드 인덱스에 비해 검색 속도가 떨어진다.
- 한 개의 릴레이션에 여러 개의 인덱스를 만들 수 있다.
'정보처리기사 실기 > 데이터베이스' 카테고리의 다른 글
SQL - 고급 데이터베이스 (0) | 2018.09.12 |
---|---|
SQL - 병행제어 (0) | 2018.09.12 |
SQL - 트랜잭션 (0) | 2018.09.12 |
SQL - 정규화 (0) | 2018.09.12 |
SQL - 함수적 종속 (0) | 2018.09.12 |