인덱스
물리 데이터 베이스 설계에서 성능 향상을 위해 테이블의 컬럼과 레코드를 빠르게 식별할 수 있도록 컬럼값과 그 값을 포함하는 레코드의 논리적인 주소를 별도의 저장구조를 만들어 저장하는 것
인덱스의 두 가지 기본 종류
클러스터링
비슷한 종류의 무언가를 묶는다는 개념
특정 컬럼 값이 동일한 레코드에서 값에 의한 데이터 조회 시 빠른 속도로 접근하도록 동일한 장소에 저장하는 방법을 말한다
구분 | 클러스터드 인덱스 | 넌 클러스터드 인덱스 |
---|---|---|
정렬 방식 | 인덱스 키 값 순서에 따라 정렬 | 키 값만 정렬되어 있으며 실제 데이터는 정렬되지 않음 |
데이터 삽입, 삭제 시 데이터 재정렬 해야 함 | ||
검색 속도 | 실제 데이터가 순서대로 저장되어 있어 빠름 | 클러스터드 인덱스에 비해 느림 |
인덱스 생성 | 한 개의 릴레이션에 하나의 인덱스만 생성 가능 | 한 개의 릴레이션에 최대 249개까지 생성 가능 |
리프 페이지 | 실제 데이터 | 실제 데이터 주소 |
조회성 | 적은 양이든 많은 양이든 유리 | 비교적 적은 양의 데이터가 유리 |
사용 용도 | 조회가 많을 때 유리 | 삽입, 삭제, 갱신이 많을 때 유리 |
동시성 제어
여러명의 사용자가 동시에 데이터 베이스 하나에 접근할 때 발생하는 여러가지 문제점을 해결하기 위한 제어 방법
동시성 제어의 목적
동시성 제어 기법
트랜잭션의 특성 : ACID
로킹(Locking)
트랜잭션이 사용하는 모든 데이터 항목에 대해 Lock을 지정해 두고, 해당 로크(Lock)를 획득한 경우에만 사용하도록 하는 방법
로킹의 종류