Linux DB



Mysql에서 log-slow-queries 로그 남기기


사용방법은 my.cnf 파일 안에 [mysqld] 탭에 아래 내용을 기록하면 됩니다.

log-slow-queries=[로그경로]
long_query_time=[기록기준시간]

예)
[mysql]
long_query_time=5
log-slow-queries=/var/log/mysql-slow-query.log


파일 권한을 mysql 권한으로 변경해줍니다.
# chown mysql:mysql /var/log/mysql-slow-query.log


Slow Query log 를 활성화 하면 long_query_time 에 정해진 시간을 초과하는 쿼리에 대해서는
log-slow-queries 에 설정된 결로로 로그를 남기게 됩니다.


주기적으로 확인을 하여 성능이 떨어지는 쿼리를 분석 할 수 있습니다.

Query_time : 쿼리 수행시간
Lock_time : 테이블 LOCK 이 걸린시간
Row_sent : 쿼리 처리 결과 ROW 수
Rows_examined : 쿼리 처리대상의 ROW 수

기록된 내용중 위 내용과 쿼리를 분석하면 됩니다
쿼리의 분석 방법은 EXPLAIN 을 이용하여 분석을 하면 됩니다.


explain 을 사용하여 체크

(사용법)
      EXPLAIN tbl_name
   or EXPLAIN SELECT select_options