원하는 정보를 얻기 위해 얼마나 모여 있느냐가 '클러스터링 팩터'입니다. 잘 모여 있을 수록 디스크 IO 효율이 높아져서 성능 또한 좋습니다.
예를 들어, 6건을 얻어 오는데 피지컬 블럭을 2개를 엑세스해서 얻어왔고 3건을 얻기 위해 피지컬 블럭 3개를 엑세스해서 얻어 온다면 6건을 읽는 것이 더 빠릅니다.
Index 구조
랜덤 엑세스, 싱글 블럭 IO
Clustering Table(Clustered index)
랜던 엑세스를 줄일 수 있으며 멀티 블럭 IO를 할 수 있어서 검색이 빠릅니다.
- 지정된 컬럼값의 순서대로 로우를 저장시키는 방법
- 엑세스기법이 아니라 엑세스 효율향상을 위한 물리적 저장기법
- 검색의 효율을 높여주나 입력, 수정, 삭제시는 부하 증가
- 분포도가 넓을 수록 오히려 유리
Sorting Table
코드 성격의 테이블이 있고 이 것을 조회 하는 패턴이 정해져 있다면 엑세스 효율을 높일 수 있는 최적의 데이터 입력 방법을 알 수 있으며 이 순서대로 데이터를 입력해두고 사용하면 성능 향상을 시킬 수 있습니다.
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - 게임 서버 프로그래머가 알아야 할 RDBMS
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - 옵티마이저 맛보기
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - 테이블 조인 하면 느리다?
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - 리커시브 모델의 활용
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - 아크 모델(exclusive or)에서의 주의점
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - 부분범위 처리와 전체 범위처리
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - 인덱스의 제대 사용하자
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - DB 옵티마이저
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - Nested Loop/Sort Merge/Hash Join
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - DB 테이블 클러스터링 팩터
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - DB 절차적 사고 VS 집합적 사고
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - SQL 집합의 가공
[데이터베이스/게임 서버 프로그래머가 알아야 할 RDBMS] - SQL IN의 특징과 IN의 활용
'서버 개발 > 프로그래머를 위한 RDBMS' 카테고리의 다른 글
SQL 집합의 가공 (0) | 2020.05.27 |
---|---|
DB 절차적 사고 VS 집합적 사고 (2) | 2020.05.27 |
Nested Loop/Sort Merge/Hash Join (0) | 2020.05.27 |
DB 옵티마이저 (0) | 2020.05.27 |
인덱스의 제대 사용하자 (0) | 2020.05.27 |