1. 클러스터형 인덱스 구성하기


USE market_db;

DROP TABLE IF EXISTS cluster;
CREATE TABLE cluster -- 클러스터형 인덱스를 테스트하기 위한 테이블
(	mem_id		CHAR(8),
	mem_name	VARCHAR(10)
);

INSERT INTO cluster VALUES('TWC', '트와이스');
INSERT INTO cluster VALUES('BLK', '블랙핑크');
INSERT INTO cluster VALUES('WMN', '여자친구');
INSERT INTO cluster VALUES('OMY', '오마이걸');
INSERT INTO cluster VALUES('GRL', '소녀시대');
INSERT INTO cluster VALUES('ITZ', '잇지');
INSERT INTO cluster VALUES('RED', '레드벨벳');
INSERT INTO cluster VALUES('APN', '에이핑크');
INSERT INTO cluster VALUES('SPC', '우주소녀');
INSERT INTO cluster VALUES('MMU', '마마무');

SELECT * FROM cluster;

이 상태에서 조회하면 입력한 순서대로 데이터가 조회된다.

ALTER TABLE cluster
	ADD CONSTRAINT
	PRIMARY KEY (mem_id);

PRIMARY KEY 를 지정해줌으로써 클러스터형 인덱스가 자동 생성된다.

이후 조회해보면 mem_id 기준으로 정렬된 상태로 조회된다.

Untitled

클러스터형 인덱스 구성

  1. 클러스터형 인덱스를 구성하기 위해 행 데이터를 지정한 열로 정렬
  2. 각 페이지의 인덱스로 지정된 열의 첫 번째 값을 가지고 루트 페이지 생성
  3. 인덱스 페이지의 리프 페이지는 데이터 그 자체이다.

2. 보조 인덱스 구성하기


USE market_db;

DROP TABLE IF EXISTS second;
CREATE TABLE second -- 보조 인덱스를 테스트하기 위한 테이블
(	mem_id		CHAR(8),
	mem_name	VARCHAR(10)
);

INSERT INTO second VALUES('TWC', '트와이스');
INSERT INTO second VALUES('BLK', '블랙핑크');
INSERT INTO second VALUES('WMN', '여자친구');
INSERT INTO second VALUES('OMY', '오마이걸');
INSERT INTO second VALUES('GRL', '소녀시대');
INSERT INTO second VALUES('ITZ', '잇지');
INSERT INTO second VALUES('RED', '레드벨벳');
INSERT INTO second VALUES('APN', '에이핑크');
INSERT INTO second VALUES('SPC', '우주소녀');
INSERT INTO second VALUES('MMU', '마마무');