1) Table Index
https://woongsin94.tistory.com/189?category=730536
기본 제공 Index는 Degree 4인 B+tree
IOT는 그 어느 위치에 존재하는 지 내용 까지도 함께 표시됨(rid)
Secondary Index는 Degree 3인 B+tree
2) B+tree
https://woongsin94.tistory.com/190?category=730536
3) Data record, Row migration
Data record
c1의 길이를 어떻게 구하는가 ? c2 – c1
c4의 길이를 어떻게 구하나? Header에 전체 길이 length가 들어있으므로, 거기서 빼면 된다.
만약 value of c3가 empty string 인 경우에는 c3와 c4의 위치를 같게 둔다? 그럼 어느 것이 empty string인지 헷갈린다.
-> NULL bit array 가 Header에 있다.
NULL bit array가 NULL이면 넘어가고 시작
각각의 길이는 시작부터 끝까지 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 |