- 프로파일링은 SQL 문에서 문제가 되는 병목 지점을 찾기위해 사용하는 툴을 말한다.
- 느린 쿼리나 문제가 있다고 의심되는 SQL 문의 원인을 확인할 수 있다.
SQL 프로파일링
- MySQL은 프로파일링이 기본적으로 비활성화 되어 있으므로, 활성화 작업을 진행한다.
- 프로파일링을 수행할 SQL 문을 출력하고, 로파일링된 쿼리 목록을 확인한다.
- 특정 쿼리 ID에 대해서만 프로파일링된 상태 내용을 확인하려면, 다음과 같이 쿼리 ID를 입력한다.
- 특정 Status에 해당되는 Duration 값이 높게 나타난다면 문제가 될 소지가 높은 구간으로 볼 수 있다.
추가 정보
- 프로파일링의 추가 정보를 확인하려면 아래와 같은 키워드를 이용하여 구체적으로 분석할 수 있다.
- show profile 구문 뒤에 해당 키워드를 작성하여 Block I/O나 CPU, SWAP 횟수 등에 대한 OS 수준의 확장된 정보를 제공받을 수 있다.
옵션 | 설명 |
ALL | 모든 정보를 표시 |
BLOCK IO | 블록 입력 및 출력 작업의 횟수 표시 |
CONTEXT SWITCHES | 자발적 및 비자발적인 컨텍스트 스위치 수를 표시 |
CPU | 사용자 및 시스템 CPU 사용 기간 표시 |
IPC | 보내고 받은 메시지의 수를 표시 |
PAGE FAULTS | 주 페이지 오류 및 부 페이지 오류 수를 표시 |
SOURCE | 함수가 발생하는 파일 이름과 행 번호와 함께 소스 코드의 함수 이름을 표시 |
SWAPS | 스왑 카운트 표시 |
'Computer Science > SQL Tuning' 카테고리의 다른 글
테이블 JOIN 튜닝 (0) | 2022.02.22 |
---|---|
SQL 문 튜닝 (0) | 2022.02.22 |
MySQL과 MariaDB 실행 계획 (0) | 2022.02.21 |
인덱스와 인덱스 스캔 (0) | 2022.02.19 |