데이터베이스/혼자공부하는 SQL

06-02 균형트리

공부를하자 2024. 4. 1. 22:06

아래의 상기 내용은

"혼자공부하는 SQL" 도서 내용과 인터넷의 내용을 실습 정리한 글입니다.

1.균형트리(B-tree)

 1)정의

  노드의 삽입과 삭제가 일어날 때 균형을 유지하도록 하는 트리.

 2)개요 개념

  -클러스터 인덱스와 보조 인덱스는 내부적으로 균형트리라는 자료구조에 나오는 데이터 구조이다.

  -마치 나무를 거꾸로 듯한 같이 뿌리,줄기, 같이 각각의 계층을 표현하고 있다.

 

 -데이터가 저장되는 곳을 노드(node)라고 부르며 위의 그림은 4(루트 1 리프 3) 있다.

  -MySQL에서는 페이지(Page)라는 명칭을 쓴다.

  -페이지는(page) 최소한의 저장단위로 16kbyte 크기를 가지며 1개의 데이터만 입력해도  16kbyte 크기가 필요하다.

3)데이터 검색 비교

 -균형트리는 데이터를 검색할 뛰어난 성능을 지닌다.

  -일반적으로 데이터를 검색할 페이지의 조회 개수가 적은 것이 효율적이다.

 

  -트리가 아닌 구조는 3 페이지의 노드를 검색한다.

 -트리 구조는 루트 페이지 리프 페이지 2개를 검색하여 효율적이다.

4)페이지 분할

 -트리는 검색에는 빠르지만 데이터를 변경 작업(삽입,삭제,변경)같은 작업은 성능이 나빠진다.

 -페이지 분할이 데이터를 나누는 작업.

 -데이터가 변경작업이 일어 났을 균형트리의 정렬 노드 생성 분할 같은 작업이 일어나 추가적인 작업시간이 필요로 하게 되어 성능에 악역향을 주는 것이다.

2.실습: 클러스터형 인덱스와 보조 인덱스 생성 데이터 검색

 1)클러스터 인덱스

 

 

 

 2)보조 인덱스

 

 

'데이터베이스 > 혼자공부하는 SQL' 카테고리의 다른 글

07-02 스토어드 함수와 커서  (0) 2024.05.25
07-01 스토어드 프로시저  (0) 2024.05.19
06-01 인덱스  (0) 2024.03.27
05-03 가상의 테이블 : 뷰  (1) 2024.03.19
05-02 제약조건  (0) 2024.03.09