인덱스
- 테이블을 더 빠르게 조회하기 위한 참조 수단(책의 '찾아보기'와 유사)
- 실무에서 매우 빈번히 사용 (검색 속도 향상)
- 열 단위로 사용
- 인덱스가 없다면? 어쩔 수 없이 모든 테이블의 데이터를 스캔해야 한다.
- 테이블을 가리키는 대상이기에 테이블 삭제되면 같이 삭제
<인덱스의 부작용>
- 인덱스를 저장할 추가적인 저장 공간 필요
- 인덱스 작정 시간도 있다. (행 데이터가 너무 많으면 이 시간이 오래 걸릴 수 있음)
- 검색(SELECT)가 아닌 작업(INSERT, UPDATE, DELETE) 시 성능 악화
<인덱스의 종류>
▶ 클러스터형 인덱스
- PRIMARY KEY/ UNIQUE + NOT NULL 제약 조건 지정 시 자동 생성
- 테이블 당 하나 ( 위에 두개 중 PRIMARY KEY가 우선적으로 생성)
- 행데이터가 인덱스로 지정된 데이터에 대해 자동 정렬
▶ 보조 인덱스
- 테이블당 여러 개 가능
- 중복 가능
- 고유키로 지정된 칼럼은 자동으로 보조 인덱스가 생성(UNIQUE 제약 조건)
- 행 데이터가 인덱스로 지정된 데이터에 대해 자동 정렬X
인덱스 조회
SHOE INDEX FROM 테이블명;
인덱스 삭제
DROP INDEX 인덱스명 FROM 테이블명;
(보조)인덱스 생성
CREATE INDEX 인덱스명 ON 테이블명(열명);
뷰(VIEW)
- 가상의 테이블
- SELECT의 결과를 하나의 테이블처럼 사용하는 것(SELECT의 결과를 마치 테이블과 같이 간주)
<장점>
1. 쿼리 단순화 가능
2. 모든 데이터를 보여줄 필요가 없어짐
JOIN
- 관계형 데이터베이스의 핵심 : 여러 개의 테이블을 하나로 묶는 방법
- INNER JOIN
- OUTER JOIN
- LEFT
- RIGHT
- FULL
'공부 > 데이터 베이스' 카테고리의 다른 글
<핵심 데이터 모델링> - 논리 모델링 (0) | 2024.07.01 |
---|---|
<핵심 데이터 모델링> - 개념 모델링 (0) | 2024.07.01 |
<핵심 데이터 모델링> - 데이터 모델링이란? (0) | 2024.07.01 |
[데이터 베이스] 3장_데이터베이스 시스템 (0) | 2021.10.08 |
[데이터 베이스] 2장_데이터베이스 관리 시스템 (0) | 2021.10.07 |