최상위 레벨은 MySQL에만 있는 것이 아니라 모두 네트워크 기반이다. C/S 모든 네트워크 애플리케이션에는 연결 처리, 인증, 보안 관리 등이 포함되어야 합니다.
중간 계층은 쿼리파싱, 분석, 최적화, 캐싱 등을 포함하는 MySQL의 핵심입니다. 동시에 저장 프로시저, 트리거, 뷰 등을 포함한 크로스 스토리지 엔진 기능도 제공합니다.
하단에는 데이터 접근을 담당하는 스토리지 엔진이 있습니다. 서버는 스토리지 엔진 API를 통해 다양한 스토리지 엔진과 상호작용할 수 있습니다.
MySQL은 사용자의 쿼리문을 파싱하여 내부 데이터 구조인 분석 트리를 생성한 후 다양한 최적화를 수행합니다. 쿼리, 테이블을 읽는 순서 및 사용할 인덱스 선택 등 쿼리 최적화 프로그램은 테이블에서 사용되는 스토리지 엔진에 관심이 없지만 스토리지 엔진은 서버가 쿼리를 최적화하는 방식에 영향을 미칩니다. 옵티마이저는 스토리지 엔진을 통해 일부 매개변수, 작업 실행 비용, 통계 정보를 얻습니다. 쿼리를 구문 분석하기 전에 서버는 SELECT 문과 해당 쿼리 결과 집합을 저장하는 쿼리 캐시에 액세스합니다. 쿼리 결과가 이미 캐시에 있는 경우 서버는 더 이상 쿼리를 구문 분석, 최적화 및 실행하지 않습니다. 캐시에 있는 결과만 사용자에게 반환하므로 시스템 성능이 크게 향상됩니다.
MySQL은 서버 수준(서버 수준)과 스토리지 엔진 수준(스토리지 엔진 수준)의 두 가지 수준의 동시성 제어를 제공합니다. 잠금은 동시성 제어를 달성하는 기본 방법입니다. MySQL의 잠금 세분성:
(1) 테이블 수준 잠금: MySQL은 스토리지 엔진과 독립적으로 테이블 잠금을 제공합니다. 서버는 테이블 잠금(테이블 수준 잠금)을 제공합니다.
(2) 행 수준 잠금: InnoDB 및 Falcon 스토리지 엔진은 행 수준 잠금을 제공합니다. 또한 BDB는 페이지 수준 잠금을 지원합니다. InnoDB의 동시성 제어 메커니즘은 다음 섹션에서 자세히 설명합니다.
위 내용은 고성능 MySQL의 아키텍처와 개념에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!