인덱스 분석

CJB_ny·2022년 4월 3일
0

DataBase

목록 보기
22/29
post-thumbnail

SQL성능에 대한 튜닝에 대해서 알아 볼 것이다.

평소에도 데베 설계를 할때 민감하게 설계 해야한다.

유져수 증가 -> 데베 부하 올라 갈 수 있음

그래서 어떤게 빠르고 느린지는 SQL튜닝을 하면서 성능 분석을 하는 방법을 배워야 한다.

google -> northwind database -> sql에 복붙후 실행


1) DB 살펴보기

EXEC sp_helpdb '테이블 이름';

2) 임시 테이블 만들기

이렇게 만들어주자


3) INDEX 생성

이렇게 하면되는데

지금은 데이터가 적다보니까 우리가 원하는 트리형식으로 안 만들어 질 수도있다.

그래서 옵션 붙이기 가능


4) 인덱스 번호 찾기

이렇게 index번호를 찾고

보면 Test_index는 2번이다.

그리고

인덱스 정보 살펴보면

이렇게 나오는데 여기서 indexLevel이 가장 중요하다.

Root 2번, -> Branch 1번 -> Leaf 0번

트리구조 생각 ㄱㄱ

			849(Leverling)
	872(Dodsworth)   848(Leverling)
832(Buchanan)   840(Dodsworth)   841(Leverling)

이런구조로 되어있다는 것이다.


HEAP RID([페이지 주소(4)][파일ID(2)] [슬롯번호(2)] 조합한 ROW 식별자. 테이블 정보 추출 )

			849(Leverling)
	872(Dodsworth)   848(Leverling)
832(Buchanan)   840(Dodsworth)   841(Leverling)

이렇게 되어잇는데

만약 Callahan을 찾으려면

C가 L보다 먼저오니까 849에서 왼쪽으로 내려가고

872보다는 먼저오니까 832로 내려가고

832에서

이렇게 Callahan을 찾아서 HEAP RID를 추출을 해서

TABLE [ {page} {page} {page} {page} {page} ]

실제로 정보가 저장되어있는 페이지에가서 실제 정보를 추출 할 수 있다는 얘기이다.


RANDOM ACCESS (한 건을 읽기위해 한 페이지씩 접근)
BOOKMARK LOOKUP (RID를 통해 행을 찾는다)

profile
공부 일기장으로 변해버린 블로그 (https://cjbworld.tistory.com/ <- 이사중)

0개의 댓글