
프로파일링은 마치 범죄수사에서 실마리를 찾으려 분석하는 수단처럼 SQL 문에서도 문제가 되는 병목 지점을 찾고자 사용하는 수단, 툴을 가리킨다.
show variables like 'profiling%';
위 커맨드를 통해 프로파일링의 설정값을 확인할 수 있다. MySQL은 기본 비활성화 설정으로 되어있으므로 활성화 작업을 해주어야 한다.
set profiling='ON';
프로파일링을 수행할 SQL문을 실행하고 쿼리 목록을 확인한다.
show profiles;
특정 쿼리 ID에 대해서만 프로파일링된 상세 내용을 확인하고자 한다면, 쿼리 ID를 입력하여 결과를 확인할 수 있다.
show profile for query {id};

실제 특정 status에 해당하는 duration 값이 높게 나타난다면 문제 소지 구간으로 볼 수 있다.
show profile all for query 1;
위 쿼리는 제공할 수 있는 프로파일링 정보를 모두 출력한다.
show profile cpu for query 1;
SQL 수행 단계별로 점유한 CPU 양을 출력한다. 사용자 기준 CPU, 시스템 기준 CPU를 구분해서 상세 정보를 제공한다.

show profile block io for query 1;
데이터 접근 단위인 블록 수준의 입출력 정보를 추가로 출력한다.
