Composite

유재우·2022년 12월 4일
0

CS공부

목록 보기
13/26

Composite Index(결합 인덱스)

인덱스를 생성할 때 두개 이상의 컬럼을 합쳐서 인덱스를 만드는 것

용도: 주로 SQL 문장에서 WHERE절의 조건 컬럼이 2개 이상 AND로 연결되어 함께 사용되는 경우에 많이 사용

예제)
EMP 테이블에 인원 100명이 있는데, 그 중에서 남자 50명, 여자 50명이 있다.
남자 중에 이름이 'SMITH'인 사람이 단 2명이 있다.
성별이 남자 중에서 이름이 SMITH인 사람을 찾아라


쿼리문

SELECT ename, sal
FROM emp
WHERE ename = 'SMITH'
AND sex = 'M'
;

결합 인덱스 생성 구문

CREATE INDEX idx_emp_comp
ON emp( ename, sex);

결합 인덱스는 AND 조건으로 검색되는 경우 성능에 아주 중요한 역할을 한다.
두개 이상의 조건이 OR로 조회되는 경우는 결합 인덱스를 만들면 안된다.
참고한 블로그 링크


Composite Key

두 개 이상의 컬럼을 Key로 지정하는 것

기본키는 한 테이블에 한개만 존재할 수 있다.
하지만 꼭 한 테이블에 한 컬럼만 기본키로 지정할 수 있는 것은 아니다.

예제)
기본 키(Primary Key)를 두 컬럼에 지정 했을 경우

create table two (
id bigint primary key,
seq bigint primary key);

> ERROR 1068 (42000): Multiple primary key defined


Composite Key를 활용 했을 경우

create table composite (
id bigint not null,
seq bigint not null,
primary key(id, seq)
);

> Query OK, 0 rows affected (0.01 sec)


이렇게 컬럼을 조합하여 기본키로 설정할 경우에는 여러 컬럼을 모두 조합해서 UNIQUE해야 한다.
참고한 블로그 링크

profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글