본문 바로가기

Archived(CSE Programming)/Database(Oracle)

Chap 3. Table Index & B+tree

1) Table Index

https://woongsin94.tistory.com/189?category=730536

 

Oracle Table Index

Oracle에는 테이블 인덱스의 대표적인 두 가지 형태가 있다. Heap-Oraganized Table(HOT), Index-Organized Table(IOT) 이다. 1. Heap-Oraganized Table(HOT) 오라클에서 사용되는 표준 데이터베이스 테이블. 레..

woongsin94.tistory.com

기본 제공 Index는 Degree 4인 B+tree

IOT는 그 어느 위치에 존재하는 지 내용 까지도 함께 표시됨(rid)

Secondary Index는 Degree 3인 B+tree

 

2) B+tree

https://woongsin94.tistory.com/190?category=730536

 

B+ Tree의 삽입

기본적으로 차수 3의 B+tree의 삽입에서는 다음의 원칙을 따른다. 삽입 시 Overflow가 발생할 것 같으면 먼저 Right Split 후에 삽입 leaf 노드에서는 삽입 시 가득 차 있으면 Right Split(기존의 값 중 오른쪽 값..

woongsin94.tistory.com

 

3) Data record, Row migration

 

Data record

c1의 길이를 어떻게 구하는가 ? c2 c1

c4의 길이를 어떻게 구하나? Header에 전체 길이 length가 들어있으므로, 거기서 빼면 된다.

만약 value of c3empty string 인 경우에는 c3c4의 위치를 같게 둔다그럼 어느 것이 empty string인지 헷갈린다.

-> NULL bit array Header에 있다.

NULL bit arrayNULL이면 넘어가고 시작

각각의 길이는 시작부터 끝까지 Byte Offset 까지 어디까지 갈 줄 모르니(가변길이) Short로 구성(공간 효율), char는 값을 다 표현가능할지 모름. 시험에 나옴.

 

ROW migration을 사용하는가?

-> INDEX 자체를 변경하기에는 오버헤드가 너무 크므로, 색인을 바꿔주지 않고 Data Segment에 값 위치 변경

 

이름이 바뀔 경우 색인에서 바꿔줘야 하는가?

->삭제하고 다시 insert 처리해주는 것이 맞음(색인에서 Update가 없기 때문)

deletion and then insertion 으로 해결!

'Archived(CSE Programming) > Database(Oracle)' 카테고리의 다른 글

Chap 5-4. DataBase 뷰(View)  (1) 2019.11.12
Chap 5. SQL  (0) 2019.10.22
Chap 2. ER diagram  (0) 2019.10.22
Chap 1. DBMS & Relational Model  (0) 2019.10.22
Chap 0. Oracle 기본 및 접속법  (0) 2019.10.22