SQL

『혼자 공부하는 SQL』16강 복습- 인덱스 내부 작동원리, 데이터 검색

explorer999 2023. 7. 9. 12:50

[SQL 기초 강의] 16강.인덱스의 내부 작동 원리와 구조, 인덱스에서 데이터 검색하기 - YouTube

 

<클러스터형 인덱스 구성하기 연습>


USE market_db;
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);
    
SELECT *FROM cluster;
아이디를 기본키로 지정---> 클러스터형 인덱스가 만들어져, 아이디의 알파벳 순으로 정렬 됨. 



<보조 인덱스 구성하기 연습>

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', '마마무');
SELECT * FROM second;

인덱스 없이 테이블만 만든 것. 입력 순서대로 정렬

ALTER TABLE second
ADD CONSTRAINT
        UNIQUE (mem_id);
        
SELECT * FROM second;

유니크 키 지정으로 보조 인덱스를 생성해도, 데이터의 순서 바뀌지 않음. 
내부적으로 인덱스(찾아보기 기능)이 생겼고, 페이지 번호와 위치가 저장된 것이다. 

 

 

정보 검색 시, 클러스터형 인덱스가 더 효율적이라고 함.