인덱스 : 테이블의 동작 속도를 높여주는 자료 구조
-> 데이터의 위치를 빠르게 찾아주는 역할
- 데이터베이스 메모리의 일정 공간을 사용해 저장
- 데이터를 조회할 때 소모되는 메모리를 효율적으로 사용
- 일반적으로 SELECT 구문을 통해 데이터 조회 요청
- DB 서버 프로세스는 메모리 먼저 확인
- 메모리에는 자주 사용되는 테이블이 캐싱 저장
- 원하는 데이터가 메모리에 없는경우 데이터 파일을 복사해 온 다음 리턴
-> 메모리에 데이터가 있어 조회할 경우 빠른 쿼리 수행속도 조회
-> 원하는 데이터가 메모리에 없으면 모든 블록 테이블 조회
- 테이블 풀 스캔을 막기위해 데이터의 주소록 인덱스를 만들어 관리
- 원하는 데이터 블록 주소 ( ROWID ) 를 찾는 개념
- 대게 B-Tree, B+Tree 구조
- B-Tree 인덱스 : 실시간 처리 시스템
- 데이터 값 종류가 많고 동일한 데이터가 적은 경우 사용
인덱스 구조
- 테이블 전체 스캔 -> 정렬 -> 블록 기록
- 인덱스가 생성되면 where 절에 해당 컬럼의 인덱스가 생성되어 있으면 먼저 해당 데이터가 잇는 ROWID부터 검색
- ROWID 구성 : 데이터 오브젝트 번호/파일번호/BLOCK 번호/ ROW 번호의 나열
반응형
'전산 > Database' 카테고리의 다른 글
mongoDB 설치 (0) | 2021.02.18 |
---|---|
ORM (0) | 2021.02.06 |
Redis (0) | 2021.02.06 |
Redis-cli 명령어 (0) | 2021.02.06 |
MongoDB 명령어 (0) | 2021.02.02 |
최근댓글