일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스프링 부트
- WebApplication Type
- AuthenticationPrincipal
- JsonSerializer
- 리소스핸들러
- Application Argument
- Application Event
- cors
- 정적 리소스
- @ConfigurationProperties
- HttpMessageConverters
- 외부설정
- 알고리즘
- EnableAutoConfiguration
- 리소스 서버
- Application Runner
- 백기선
- 백준
- HATEOAS
- @Profile
- rest api
- 스프링부트
- 브루트포스
- webjar
- JPA
- 다익스트라
- 백트래킹
- OAuth2
- application.properties
- Spring Security
- Today
- Total
아카이브
Clustered Index VS Non-Clustered Index 본문
1. 차이, 크기
- Clustered Index는 물리적으로 행을 재배열
- ex) create table test_index{
log_data char(8) not null,
id char(1) not null,
.....
primary key(log_data,id)
}
INSERT
20130611 a data
20130612 a data
20130612 c data
20130612 b data
20130608 c data
SELECT *
20130608 c data
20130611 a data
20130612 a data
20130612 b data
20130612 c data
☞ PK를 기준으로 물리적으로 행을 재배열
- Non-Clustered Index는 물리적으로 재배열 X → 별도의 공간에 Index TABLE을 생성하여 정렬한다
☞ Non-Clustered Index
8을 검색하는 과정
1. 인덱스 3페이지는 7로 시작 -> 인덱스 3페이지로 접근
2. 인덱스 3페이지 안에 8의 데이터 페이지 위치와 인덱스가 저장되있는 부분을 참조 8 (3, 2)
3. 데이터 3페이지의 2번째에 저장되어있는 8을 검색
☞ Clustered Index
- 이미 데이터가 정렬되어 있는 상태로 저장되기 때문에 Leaf level의 Index TABLE이 불필요
☞ Non-Clustered Index보다 DB용량을 덜 차지함
8을 검색하는 과정
1. 데이터 3페이지는 7로 시작 -> 3페이지로 접근
2. 데이터 3페이지에서 8을 검색
2. 선택도
- 테이블의 전체 데이터 집합 중에 특정 조건에 의해 데이터가 걸러지는 비율
☞ Clustered Index
- EX) 7, 8, 9 탐색 시 한 번의 접근으로 추출할 수 있다 (3페이지에 7~9가 저장되어 있음)
- 선택도 범위가 30% 이내일 때 효율적
☞ Non - Clustered Index
- EX) 7, 8,9 탐색 시 우선 Index 3페이지로 접근 후 7(2-1), 8(3-2), 9(3-3) 이므로 2번의 접근이 필요
- 선택도 범위가 3% 이내일 때 효율적
3. 최대 개수
☞ Clustered Index
- 물리적으로 정렬되어 있는 상태이기 때문에 단 1개만 생성 가능
- 2개 라면? 데이터가 꼬인다
☞ Non - Clustered Index
- Index TABLE을 별도로 생성하여 정렬하기 때문에 249개까지 생성할 수 있다.
- EX) 전공책 뒤에 색인에서 '가나다', 'ABC' Index
출처
http://lng1982.tistory.com/144
http://lssang.tistory.com/entry/%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%93%9C-%EC%9D%B8%EB%8D%B1%EC%8A%A4-%EB%84%8C%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%93%9C-%EC%9D%B8%EB%8D%B1%EC%8A%A4
'데이터베이스' 카테고리의 다른 글
INDEX 란? (0) | 2018.06.18 |
---|---|
DDL, DML, DCL (0) | 2018.06.18 |
Stored Procedure ( 저장 프로시저 ) (0) | 2018.06.09 |
무결성(Integrity) (0) | 2018.06.09 |
DBMS (0) | 2018.06.06 |