MySQL 엔진 아키텍처 MySQL 엔진 아키텍처 MySQL 서버는 사람의 머리 역할을 담당하는 MySQL 엔진 과 손발 역할을 담당하는 스토리지 엔진 으로 구분 스토리지 엔진의 핸들러 API 를 만족하면 누구나 스토리지 엔진을 구현해 MySQL 서버에 추가해서 사용 가능 MySQL 엔진 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러, SQL 파서, 전처리기, 옵티마이저 가 중심을 이룸 표준 SQL 문법을 지원해 표준 문법 을 지켜 작성된 쿼리는 타 DBMS와 호환 되어 실행 가능 스토리지 엔진 실제 데이터를 디스크 스토리지에 저장 하거나 데이터를 읽어오는 역할 을 수행 MySQL 엔진은 하나만 사용할 수 있지만 스토리지 엔진은 여러 개를 동시에 사용 가능 다음 명령어를 통해 테이블에 사용할 스토리지 엔진을 지정할 수 있음 CREATE TABLE test_table (fd1 INT, fd2 INT) ENGINE=INNODB; 핸들러 API MySQL 엔진의 쿼리 실행기에서 데이터를 쓰거나 읽을 때 각 스토리지 엔진에 요청을 하는데 이를 핸들러(Handler) 요청 으로 부름 핸들러 API를 통해 레코드 작업이 얼마나 수행됐는지 확인하는 명령어 SHOW GLOBAL STATUS LIKE 'Handler%';