반응형
데이터베이스에 대한 대다수 요청은 전체 데이터 중 극히 일부분만을 필요로 한다. 그런데 레코드를 검색하기 위한 보조 기술이 따로 없다면 DBMS는 요청에 만족하는 데이터를 검색하기 위해 존재하는 레코드를 처음부터 끝까지 순차적으로 검사하게 되는 비효율적인 결과를 낳는다.
인덱싱 기법
DBMS에서 신속한 데이터 검색을 지원하기 위한 보조 기술
탐색키를 이용해서 해당 데이터가 저장된 블럭을 빠르게 파악해서 검색 결과를 생성해 준다.
탐색키: 파일에서 레코드를 찾는데 사용되는 컬럼(들).
인덱스 기반 검색
사용자가 어떤 레코드를 검색하면 DBMS는 찾을레코드 블럭을 바로 메모리에 올리는 것이 아니라 인덱스 블럭을 올린다.
어차피 올리는거 그냥 올리면 되는거 아닌가? 괜히 한단계 더 추가된거 아닌가?
-> 인덱스블럭은 실제 레코드 블럭보다 사이즈가 작기 때문에 한번에 많은 양을 메모리에 올릴 수 있다.
인덱스가 없으면 데이터 일부를 메모리에 올리고->아니네? 다음블럭-> 아니네?다음블럭 이렇게 하나하나 탐색하게 되는데
인덱스만 있는 블럭으로 한번에 많은 범위를 탐색할 수 있고 이를 통해 찾을 레코드의 위치를 빠르게 알아낼 수 있고 위치를 알기 때문에 해당 위치에 바로 접근해 데이터를 찾을 수 있기 때문에 훨씬 성능이 좋아진다.
반응형
'기타' 카테고리의 다른 글
리눅스 scp 명령어로 아마존 리모트 서버에 파일 복사하기 (0) | 2023.02.16 |
---|---|
MantisBT | 프로젝트 생성 권한 변경하기 (0) | 2023.01.11 |
데이터베이스 | 트랜잭션 동시성 제어 - 락 기반 규약 (0) | 2022.11.03 |
npm install 패키지명 "--save"를 꼭 해야할까 (0) | 2022.09.30 |
ORM(Object–relational mapping) (0) | 2022.09.29 |