인덱스
- 데이터베이스의 인덱스란?
- 데이터베이스에서 테이블의 검색 속도를 높이기 위한 기술을 말한다
- 해시 테이블, B tree B+ tree 등의 자료구조가 사용된다.
- 어떻게 사용해야 하나?
- 자주 조회되는 컬럼에 적용한다
- 조회 시 오랜 시간을 소모하는 컬럼에 적용한다
- 인덱스의 종류
- Primary Key ( PK )
- 컬럼을 해당 키로 설정 시 테이블에서 중복되지 않는 값을 지정한다
- 조회 속도가 가장 빠르다
- 테이블마다 단 하나의 컬럼을 primary key로 지정할 수 있다
- Unique Key ( UQ )
- PK와 마찬가지로 테이블에서 중복되지 않는 값을 지정한다
- PK보단 느리지만 고속으로 데이터를 가져올 수 있다
- 여러 컬럼을 UQ로 지정할 수 있다
- Normal Key
- 테이블에서 중복되는 값을 허용한다
- PK, UQ보단 느리지만 데이터의 양이 클 때, 바로 전체 테이블을 조회하는 것보다는 속도가 빠르다
- 중복키
- 하나의 키에 여러 컬럼을 등록하여 설정하는 방법을 말한다
- SQL 예시
CREATE TABLE `student` (
`id` int NOT NULL,
`name` char(5) NOT NULL,
`birthday` date NOT NULL,
`weight` int NOT NULL,
`height` int NOT NULL,
`address` varchar(10) NOT NULL,
PRIMARY KEY (`id`), -- PK적용
UNIQUE KEY `resident_number` (`name` , `birthday` , `address` ), -- UQ를 중복키로 저장
KEY `health_info` ( `height` , `weight` )
)