Presentation is loading. Please wait.

Presentation is loading. Please wait.

제 5 장 MariaDB인덱스 생성 및 관리.

Similar presentations


Presentation on theme: "제 5 장 MariaDB인덱스 생성 및 관리."— Presentation transcript:

1 제 5 장 MariaDB인덱스 생성 및 관리

2 MariaDB 인덱스 클러스터링 인덱스 보조 키 인덱스 클러스터링 인덱스 선택 기준
테이블이 기본 키에 의해 정렬되고, 그 기본 키에 대해 만들어진 인덱스 기본키 (또는 NOT NULL의 UNQUE 키) 선언할 때 자동 생성 보조 키 인덱스 기본키를 제외한 나머지 모든 인덱스 create index 문장에 의해 생성됨 UNIQUE 키, 외래 키 선언할 때 자동 생성 클러스터링 인덱스 선택 기준 기본키가 있으면 이를 클러스터링 키로 선택 NOT NULL 옵션의 첫번째 UNIQUE 키를 선택 자동으로 증가되는 컬럼을 내부적으로 추가한 후 선택

3 MariaDB 인덱스 인덱스 생성 예제 create table userTbl
( userID char(8) PRIMARY KEY, name varchar(10) UNIQUE, birthYear int, INDEX ix_nickname(nick_name) ); create index ix_age on userTbl(age); show index from userTbl; drop index ix_age on userTbl;

4 MariaDB 인덱스 저장구조 (InnoDB)
클러스터링 인덱스 저장 구조

5 MariaDB 인덱스 저장구조 (InnoDB)
보조 인덱스 저장 구조

6 MariaDB 인덱스 저장구조 인덱스 저장 구조/방식 분류 B-tree 인덱스 해시 인덱스 R-tree 인덱스
Fractal-Tree 인덱스 전문 검색(Full-Text search) 인덱스 비트맵 인덱스 함수 기반 인덱스

7 MariaDB 인덱스-클러스터링 인덱스 클러스터링 인덱스의 장점 클러스터링 인덱스의 단점
기본 키를 조건으로 검색할 때 처리 성능이 매우 빠름 인덱스만으로 질의 처리하는 것이 가능함 클러스터링 인덱스의 단점 모든 보조 인덱스가 클러스터 키를 갖기 때문에 클러스터 키 값이 클 경우 인덱스의 크기가 커짐 보조 인덱스를 이용한 검색시 기본키로 한번 더 검색 발생 INSERT시 기본 키에 의해 레코드의 저장 위치가 결정되기 때문에 처리 성능이 느림 기본 키를 변경할 때 레코드를 삭제한 후 삽입해야 하므로 처리 성능이 느림

8 Speed-start Web services 2004 - SOAs and Web services
▪ 보조 인덱스 생성/제거 인덱스 생성 CREATE [UNIQUE] INDEX [schema.] index_name ON [schema.] table_name (col1, [col2, col3 …]); create index emp_idx on emp(ename, dno); 인덱스 제거 DROP INDEX [schema.] index_name; drop index emp_idx; ibm.com/developerWorks/webservices - © Copyright 2004 IBM Corporation.

9 인덱스 관리 인덱스 생성시 고려 사항 인덱스는 열 단위에 생성된다 Where 절에서 자주 사용되는 열을 인덱스로 만든다
데이터의 중복도가 높은 열은 인덱스를 만들어도 별 효과가 없다 외래 키가 사용되는 열에는 인덱스를 생성하는 것이 좋다 Join에 자주 사용되는 열에는 인덱스를 생성하는 것이 좋다 INSERT, DELETE, UPDATE가 얼마나 자주 일어나는지 고려해야 한다 클러스터링 인덱스는 하나만 생성할 수 있다 사용하지 않는 인덱스는 제거하라 계산 열에도 인덱스를 활용할 수 있다


Download ppt "제 5 장 MariaDB인덱스 생성 및 관리."

Similar presentations


Ads by Google