MySQL B-Tree
1. 학습 주제
- B-Tree 란
- 정렬 방법
- 데이터 조회 과정
- 장점&단전
2. 알게 된 내용
- B-Tree 란 인덱스를 정렬하는 알고리즘이다.
- B-Tree 의 인덱스 key, value 구조에서 key 에 사용되는 컬럼은 값을 변형하지 않고 항상 정렬된 상태로 유지한다.
- B-Tree 는 루트 노드, 브랜치 노드, 리프 노드로 구성된다.
- 리프 노드는 데이터 파일에 저장된 레코드의 주소를 갖는다.
- MyISAM 엔진에서는 실제 물리 주소를 갖는다.
- InnoDB 에서는 논리 주소를 갖는데, 레코드의 ID 역할을 하는 PK 다
3. 설명하기 어려운 부분
- B-tree self balanced tree
- B-Tree CURD 설명
- B-tree 의 각 노드를 설명하기 어렵다
- ROWID
- 인덱스 크기가 미치는 영향
4. 다시 정리
혼.공.컴.운
1. 학습 주제
- 명령어 병렬 처리 기법
- 명령어 파이프라이닝
2. 알게 된 내용
- CPU 가 쉴새없이 명령어를 처리하게 만드는 여러 기법이 있다.
- 세 가지 방법이 있는데 1. 명령어 파이프라이닝 2.슈퍼스칼라 3.비순차적 명령어 처리가 있다.
- CPU 는 명령어 처리 과정은 인출,해석,실행,결과 저장이다.
한 명령어를 위해 필요한 4단계가 겹치지만 않는다면 각 단계를 동시에 실행할 수 있다.
아래 테이블을 보면 t2 시점에는 해석, 인출을 동시에 처리할 수 있다.
t1 | t2 | t3 | t4 | t5 |
---|
인출 | 해석 | 실행 | 저장 | |
. | 인출 | 해석 | 실행 | 저장 |
- 명령어 파이프라이닝은 동시에 실행할 수 있는 단계들을 동시에 처리하는 것이다.
- 동시 실행에 발생할 수 있는 위험이 있다. -> 파이프라인 위험
3. 설명하기 어려운 부분
- 명령어 파이프라인 정의 설명하기
- 파이프라인 위험
4. 다시 정리