Slow Query Log
슬로우 쿼리 로그는 MySQL이 지원하는 느린 쿼리가 발생할 때마다 로그를 남겨주는 기능입니다. 슬로우 쿼리 로그는 on/off할 수 있고, 기준 시간 등을 설정할 수 있습니다.
설정
먼저 운영 중인 MySQL에 접속한 후, 아래의 SQL문을 수행합니다.
show variables like 'slow_query_%';
그러면 슬로우 쿼리 로그의 사용 여부와 로그의 경로가 나올겁니다. 저는 사용중이네요.
슬로우 쿼리 로그를 on 하거나 설정을 변경하려면 윈도우 환경이면 my.ini 리눅스면 my.cnf를 수정합니다.
윈도우이신 분은 C:\MySQL\MySQL Server 8.0 경로에 있습니다.
위 부분을 수정하시면 되고, slow-query-log는 1이 on, 0이 off입니다.
slow_query_log_file은
long_query_time이 10이면 10초 이상이 걸리면 로그를 남기겠다는 뜻입니다.
설정하고 나와서 MySQL을 재시작합니다.
윈도우는 서비스에서 재시작하면되고, 리눅스는 service mysqld restart 명령어를 입력하시면 됩니다.
확인
select sleep(20);
일부러 20초를 지연시키키는 쿼리를 보냈습니다.
설정한 경로의 로그를 확인해보겠습니다.
지연이 발생한 쿼리문에 대한 정보를 얻을 수 있었습니다.
감사합니다.
'Database > SQL' 카테고리의 다른 글
MySQL - datetime("0000-00-00") 사용하면 안되는 이유! (+ 에러 임시 해결) (2) | 2022.02.20 |
---|---|
SQL - 트랜잭션 범위 개선 (0) | 2022.02.13 |
Real MySQL - MySQL 기본 구조(+ 쿼리 실행 과정, 메모리 할당 구조, ...) (0) | 2022.02.05 |
MySQL - 인덱스 타는지 체크 방법 (+개선 방법, 인덱스를 타게 하는 방법) (0) | 2022.01.01 |
데이터베이스 - 순서(정렬) 컬럼 두는 전략 비교 (2) | 2021.12.04 |