1.1 MySQL의 논리적 아키텍처

1.1.1 연결 관리 및 보안

서버는 즉시 사용할 수 있는 스레드의 캐시를 유지 관리하므로, 새로운 연결마다 매번 스레드를 생성하거나 폐기할 필요가 없습니다.

클라이언트가 MySQL 서버에 연결되면 서버에서 인증해야 합니다.

1.1.2 최적화 및 실행

MySQL은 쿼리를 구문 분석하여 내부 구조(분석 트리)를 생성한 다음, 다양한 최적화를 적용합니다. 여기에는 쿼리 재작성, 테이블을 읽는 순서 결정, 사용할 인덱스 선택 등이 포함될 수 있습니다.

MySQL 5.7 버전 부터 쿼리 캐시는 완전히 사라졌습니다.

1.2 동시성 제어

1.2.1 읽기/쓰기 잠금

리소스의 읽기 잠금은 공유되거나 상호 차단되지 않습니다. 반면, 쓰기 잠금은 배타적입니다.

1.2.2 잠금 세분화

공유 리소스의 동시성을 개선하는 한 가지 방법은 잠금 항목을 더 선택적으로 설정하는 것입니다.

스토리지 엔진은 자체 잠금 정책과 세분화된 잠금 단위를 구현할 수 있습니다.

1.3 트랜잭션

시스템의 ACID