인덱스의 개념

hannni·2023년 3월 13일
0
  • 인덱스
    물리 데이터 베이스 설계에서 성능 향상을 위해 테이블의 컬럼과 레코드를 빠르게 식별할 수 있도록 컬럼값과 그 값을 포함하는 레코드의 논리적인 주소를 별도의 저장구조를 만들어 저장하는 것

  • 인덱스의 두 가지 기본 종류

    • 순서 인덱스
    • 해시 인덱스
  • 클러스터링
    비슷한 종류의 무언가를 묶는다는 개념
    특정 컬럼 값이 동일한 레코드에서 값에 의한 데이터 조회 시 빠른 속도로 접근하도록 동일한 장소에 저장하는 방법을 말한다

구분클러스터드 인덱스넌 클러스터드 인덱스
정렬 방식인덱스 키 값 순서에 따라 정렬키 값만 정렬되어 있으며 실제 데이터는 정렬되지 않음
데이터 삽입, 삭제 시 데이터 재정렬 해야 함
검색 속도실제 데이터가 순서대로 저장되어 있어 빠름클러스터드 인덱스에 비해 느림
인덱스 생성한 개의 릴레이션에 하나의 인덱스만 생성 가능한 개의 릴레이션에 최대 249개까지 생성 가능
리프 페이지실제 데이터실제 데이터 주소
조회성적은 양이든 많은 양이든 유리비교적 적은 양의 데이터가 유리
사용 용도조회가 많을 때 유리삽입, 삭제, 갱신이 많을 때 유리
  • 동시성 제어
    여러명의 사용자가 동시에 데이터 베이스 하나에 접근할 때 발생하는 여러가지 문제점을 해결하기 위한 제어 방법

  • 동시성 제어의 목적

    • 공유도를 최대한으로 한다
    • 응답 시간을 빠르게 한다
    • 시스템 활용도를 높게 한다
  • 동시성 제어 기법

    • 2PL 기법
    • 타임스탬프 순서 기법
    • 추후 검증 기법
  • 트랜잭션의 특성 : ACID

    • 원자성(Atomicity)
    • 일관성(consistency)
    • 격리성(Isolation)
    • 영속성(Durability)
  • 로킹(Locking)
    트랜잭션이 사용하는 모든 데이터 항목에 대해 Lock을 지정해 두고, 해당 로크(Lock)를 획득한 경우에만 사용하도록 하는 방법

  • 로킹의 종류

    • 이진 로크
      로크가 걸린 상태 또는 로크가 해제된 상태 두 가지 상태만 존재한다
    • 공유적 로크
      트랜잭션들이 같은 데이터 항목을 공통적으로 읽어들일 때 존재한다

0개의 댓글