
MySQL의 전체 구조를 살펴보면 크게
MySQL엔진은 커넥션 핸들러, 파서, 전처리기, 옵티마이저로 나뉜다.
실제로 데이터를 처리하는 곳이다. 스토리지 엔진을 지정하면 지정된 스토리지 엔진이 작업들을 진행한다.
MySQL 엔진의 쿼리 실행기에서 데이터를 쓰거나 읽을 때 각 스토리지 엔진에 쓰기, 읽기를 요청하는데 이 요청을 핸들러라 한다. 사용되는 api를 핸들러 API라고 한다.
다음 명령어로 핸들러 API의 작업량을 볼 수 있다.
SHOW GLOBAL STATUS LIKE 'Handler%';

다음 명령어로 서버에서 실행 중인 쓰레드의 목록을 볼 수 있다.
SELECT thread_id, name, type, processlist_user, processlist_host
FROM performance_schema.threads ORDER BY type, THREAD_ID;

마지막 줄을 보면 processlist_user가 root인걸 확인할 수 있다. 이 스레드만 실제 사용자의 요청을 처리하는 포그라운드 스레드이다.
InnoDB는 여러 가지 작업이 백그라운드로 처리된다.