MySQL의 서비스 구성 (b)

첫째, 예는 무엇인가

이 클래스의 인스턴스 객체의 예는 발생하지만 메커니즘 리눅스되지 않는다

1.MySQL 배경 스레드 처리 + + 메모리 구조를 미리 할당.

2.MySQL은 시동 과정에서 데몬 시작 작업자 스레드, MySQL을 사용하여 데이터 처리를 위해 미리 할당 된 메모리 구조를 생성

두, MySQL은 세 개의 층

 

 

타이 층 2.1

  1. 링크 프로토콜 (소켓, TCP / IP) 소켓이 네트워크에 연결되어 있지 # 소켓, MySQL의 소켓 연결은 로컬로 연결할 수 있습니다
  2. (사용자 이름, 암호, 화이트리스트) 사용자의 정당성을 확인
  3. (SQL 문 SQL 층 처리 결과는, SQL은 계속 수신 된 반환) 전용 접속 나사 제공

2.2 SQL 층

  1. SQL 문장이 수신된다 (판정 구문 론적 판단은, 문장의 유형을 결정한다 [DML, DDL, DCL, DQL])
  2. 데이터베이스 오브젝트 권한 부여 검사
  3. , MySQL이 직접 SQL 문을 실행할 수 없습니다 SQL 문, 여러 실행 계획을 생성 구문 분석, 실행 계획을 실행, 실행 계획에 해결하고, 궁극적으로 어떻게 데이터 디스크를 찾을 수있는 방법을 생성해야
  4. 최적화, 그것은 가장 낮은 비용 실행 계획을 고려 선택
  5. 하는 특정 데이터 파일의 데이터 페이지 B는, 위의 결과는 낮은 요금을 준 : 필요한 데이터에 접근 할 경우 임원, 최적화의 선택에 따라, 집행 최적화 SQL 문, SQL 문을의 권고에 따라 찾을 수 처리를 계속
  6. 전용 연결 층을 통해 제공되는 스레드 테이블의 구조에 데이터 스토리지 엔진 수용층의 형태는, 유저 데이터 테이블 리턴
  7. 쿼리 테이블은 쿼리 캐시가 너무 많이 설정하지 않은 테이블이 끊임없이 변화하는 경우 QUERY_CACHE 대신 memcached를 나 레디 스를 사용하는 쿼리하기 전에 쿼리 캐시, 데이터 캐시를 제공합니다
  8. 로그 (바이너리 로그)

 

 

 2.3 저장소 엔진 층

  1. 위의 결과를 수신하면
  2. 디스크 파일과 해당 데이터를 제거
  3. 테이블을 생성하고 SQL 층 구조로 복귀하려면 전용 스레드에 의해 클라이언트에 반환

스토리지 엔진 :

  1. (SQL 문은 디스크에 덤프를 수정 함) 데이터를 저장
  2. 데이터 검색 (데이터는 추출에 저장)

두 단계의 처리 :

  1. 상층 SQL 파서 및 최적화를 포함
  2. 그것은 기본 스토리지 엔진의 집합을 포함

SQL 층은 스토리지 엔진에 의존하지 않는다 :

  1. SQL 엔진은 프로세스에 영향을주지 않습니다
  2. 몇 가지 예외가있다

그것은 스토리지 엔진의 기능에 따라 달라집니다

  1. 저장 매체
  2. 가지 기능
  3. 잠금
  4. 백업 및 복원
  5. 최적화
  6. 특수 기능
    1. 전체 텍스트 검색
    2. 참조 무결성
    3. 공간 데이터 처리

는 SQL 문 구문 판정 받기
판단의 의미 (판사 문장 유형 : DML, DDL, DCL, DQL )
구문 분석 SQL 문을 여러 실행 계획 생성
최적화, (이 실행 계획의 가장 낮은 비용을 고려 선택 인기있는 이야기 빠른 속도의 선택이다, SQL 문을 유형의 낮은 소비)
필요한 데이터에 액세스 할 수 위치를 집행 최적화 SQL 문, SQL 문을의 권고에 따라 최적화의 선택에 따라 액추에이터는, 찾을
특정 1. 데이터의 페이지에있는 데이터 파일에
2. 이러한 결과는 처리를 계속 낮은 전하 준
전용 연결 층 설치 실을 통해 테이블 형태로 구성된 수신 데이터 스토리지 엔진 층
제공된 질의 캐시
1.query_cache의 memcached를 또는 레디 스가 대신 사용
합니다 (바이너리 로그) 기록을

추천

출처www.cnblogs.com/cyleon/p/11532674.html