본문 바로가기
정보처리기사 실기/데이터베이스

SQL - 튜닝

by 밍구몬 2018. 9. 12.

튜닝

 

튜닝(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