2023. 3. 30. 08:08ㆍit
1. 디폴트 설정
- slow_query_log: 기본값은 OFF입니다.
- long_query_time: 기본값은 10초입니다.
- slow query log는 기록되지 않음,
- 기록이 되어도 실행시간이 10초 이상인 쿼리만 slow query로 간주
[ 설정 방법 2가지 ]
- 해당 설정은 my.cnf 또는 my.ini 파일에서 변경 가능
- 혹은 SET GLOBAL 명령어를 사용하여 런타임 시 사용가능
오늘은 런티임시 사용 가능한 명령어를 알아 보겠음
2. slow 쿼리 찾기
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1;
SELECT * FROM mysql.slow_log;
slow_query_log와 long_query_time 설정으로 찾을 수 있음
위 쿼리는 실행시간이 1초 이상인 값을 찾음
하지만, 해당 명령어를 사용하면 전체 세션에 적용이 됨
그래서 개인이 적용하는 방법을 알아보겠음
3. 개인 slow 쿼리
-- 현재 세션에서 slow query log를 사용하도록 설정
SET SESSION slow_query_log = 'ON';
SET SESSION long_query_time = 1;
-- slow query log 확인
SELECT * FROM mysql.slow_log;
-- 현재 세션에서 slow query log 사용하지 않도록 설정
SET SESSION slow_query_log = 'OFF';
- SET SESSION 명령어를 사용하여 현재 세션에서만 slow query log를 사용하도록 설정
4. mysql.slow_log 테이블 설명
- start_time: 쿼리 실행 시작 시간
- user_host: 쿼리를 실행한 사용자와 호스트 정보
- query_time: 쿼리 실행 시간
- lock_time: 쿼리에서 사용한 락(lock) 시간
- rows_sent: 쿼리 결과로 반환된 행(row) 수
- rows_examined: 쿼리 실행 시 검사한 행(row) 수
- db: 쿼리 실행 대상 데이터베이스(database) 이름
- last_insert_id: 마지막으로 삽입(insert)된 레코드의 ID
- insert_id: 쿼리에서 사용한 insert ID
- server_id: MySQL 서버 ID
- sql_text: slow query log에 기록된 SQL 쿼리
'it' 카테고리의 다른 글
파이썬 멀티 쓰레드 예제 정리 ( Join, Lock, Queue ) (0) | 2023.04.06 |
---|---|
Configuring In-Memory Engine in MySQL (0) | 2023.04.03 |
우분투(ubuntu)에서 Apache Ignite 설치 및 인메모리(inmemory) 설정, 그리고 캐시(cache) 데이터 샘플 (0) | 2023.03.27 |
우분투(ubuntu) 하둡(hadoop) 설치 가이드 (0) | 2023.03.26 |
PYTHON 정규식 문법 및 예제 ( 전화번호, 이메일, 숫자 출력, 공백 제거, URL 출력, 주민 번호 패턴 찾기 ) (0) | 2023.03.25 |