2022-02-07

0207 MySQL 레이어

 1. MySQL은 세개의 레이어로 구성되어있다.

1) Utility Layer 

- SQL문법에 어긋난것이 없는지 검사한다.

- 해당 테이블이나 컬럼이 실제로 존재하는지 체크한다.

- 쿼리를 실행하는 유저의 권한을 체크한다. 

2) SQL Layer

- 쿼리 실행 최적의 계획을 계산한다.

- 옵티마이저의 영역!!

- 쿼리실행 통계를 구하고 cost가 낮은 계획을 선택, 실행할 쿼리를 조정한다.

3) Storage Engine Layer 

- 실제로 쿼리를 실행한다.

- 스토리지 엔진에는 여러 종류가 있으며, 가장 general하게 사용되는 것은 InnoDB엔진이다.

- InnoDB엔진은 동시성제어에 뛰어난 가장 보편적인 MySQL엔진이다. 

- 엔진의 종류는 쿼리실행에 영향을 미칠 수 있다. 특화된 다른 엔진들도 존재하지만 역시 보통은 InnoDB를 많이들 쓴다. 

2. MySQL 쿼리는 결과를 바로바로 유저에게 쓰는것이아니라,일단 버퍼에 담아둔다음에 보낸다. 이것이 성능의 병목이 될수도 있다. 

댓글 없음:

댓글 쓰기

0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...