첫째, 예는 무엇인가
이 클래스의 인스턴스 객체의 예는 발생하지만 메커니즘 리눅스되지 않는다
1.MySQL 배경 스레드 처리 + + 메모리 구조를 미리 할당.
2.MySQL은 시동 과정에서 데몬 시작 작업자 스레드, MySQL을 사용하여 데이터 처리를 위해 미리 할당 된 메모리 구조를 생성
두, MySQL은 세 개의 층
타이 층 2.1
- 링크 프로토콜 (소켓, TCP / IP) 소켓이 네트워크에 연결되어 있지 # 소켓, MySQL의 소켓 연결은 로컬로 연결할 수 있습니다
- (사용자 이름, 암호, 화이트리스트) 사용자의 정당성을 확인
- (SQL 문 SQL 층 처리 결과는, SQL은 계속 수신 된 반환) 전용 접속 나사 제공
2.2 SQL 층
- SQL 문장이 수신된다 (판정 구문 론적 판단은, 문장의 유형을 결정한다 [DML, DDL, DCL, DQL])
- 데이터베이스 오브젝트 권한 부여 검사
- , MySQL이 직접 SQL 문을 실행할 수 없습니다 SQL 문, 여러 실행 계획을 생성 구문 분석, 실행 계획을 실행, 실행 계획에 해결하고, 궁극적으로 어떻게 데이터 디스크를 찾을 수있는 방법을 생성해야
- 최적화, 그것은 가장 낮은 비용 실행 계획을 고려 선택
- 하는 특정 데이터 파일의 데이터 페이지 B는, 위의 결과는 낮은 요금을 준 : 필요한 데이터에 접근 할 경우 임원, 최적화의 선택에 따라, 집행 최적화 SQL 문, SQL 문을의 권고에 따라 찾을 수 처리를 계속
- 전용 연결 층을 통해 제공되는 스레드 테이블의 구조에 데이터 스토리지 엔진 수용층의 형태는, 유저 데이터 테이블 리턴
- 쿼리 테이블은 쿼리 캐시가 너무 많이 설정하지 않은 테이블이 끊임없이 변화하는 경우 QUERY_CACHE 대신 memcached를 나 레디 스를 사용하는 쿼리하기 전에 쿼리 캐시, 데이터 캐시를 제공합니다
- 로그 (바이너리 로그)
2.3 저장소 엔진 층
- 위의 결과를 수신하면
- 디스크 파일과 해당 데이터를 제거
- 테이블을 생성하고 SQL 층 구조로 복귀하려면 전용 스레드에 의해 클라이언트에 반환
스토리지 엔진 :
- (SQL 문은 디스크에 덤프를 수정 함) 데이터를 저장
- 데이터 검색 (데이터는 추출에 저장)
두 단계의 처리 :
- 상층 SQL 파서 및 최적화를 포함
- 그것은 기본 스토리지 엔진의 집합을 포함
SQL 층은 스토리지 엔진에 의존하지 않는다 :
- SQL 엔진은 프로세스에 영향을주지 않습니다
- 몇 가지 예외가있다
그것은 스토리지 엔진의 기능에 따라 달라집니다
- 저장 매체
- 가지 기능
- 잠금
- 백업 및 복원
- 최적화
- 특수 기능
- 전체 텍스트 검색
- 참조 무결성
- 공간 데이터 처리
는 SQL 문 구문 판정 받기
판단의 의미 (판사 문장 유형 : DML, DDL, DCL, DQL )
구문 분석 SQL 문을 여러 실행 계획 생성
최적화, (이 실행 계획의 가장 낮은 비용을 고려 선택 인기있는 이야기 빠른 속도의 선택이다, SQL 문을 유형의 낮은 소비)
필요한 데이터에 액세스 할 수 위치를 집행 최적화 SQL 문, SQL 문을의 권고에 따라 최적화의 선택에 따라 액추에이터는, 찾을
특정 1. 데이터의 페이지에있는 데이터 파일에
2. 이러한 결과는 처리를 계속 낮은 전하 준
전용 연결 층 설치 실을 통해 테이블 형태로 구성된 수신 데이터 스토리지 엔진 층
제공된 질의 캐시
1.query_cache의 memcached를 또는 레디 스가 대신 사용
합니다 (바이너리 로그) 기록을