2013-06-13 1 views

답변

2

기본적으로 long_query_time은 기본적으로 예를 들어 60 초 또는 그보다 높은 값으로 설정됩니다. 따라서 로그에 드물게 기록하기 때문에 일반적인 동작은 매우 낮은 오버 헤드가됩니다. 나는 확실히 당신의 질문 대부분이 60 초보다 훨씬 짧게 걸리기를 희망하지만, 마 겐토 (Magento)는 그렇지 않을 수도 있습니다. :-)

로그를 수집 할 때 analyzed이 될 때마다 long_query_time을 일시적으로 0으로 변경하므로 로그에 모든 쿼리가 포함됩니다. 그런 다음 로그 수집을 마치면 다시 설정하십시오.

나는이 과정을 자동화하는 스크립트 작성 : https://github.com/billkarwin/bk-tools/blob/master/full-slow-log

1

long_query_time 매개 변수를 초 단위로 표시됩니다, 그래서 당신은 (기본 10 초) 초 임의의 숫자로 설정하고 검토하여 시작할 수 로그. 노이즈 (즉, 다른 쿼리) 비율에 대한 신호 (즉, 느린 쿼리) 비율이 너무 높으면 더 많은 시간을 설정하여 완료하는 데 더 많은 시간이 필요한 쿼리 만 기록합니다. 5.7 Reference Manual에서

:

느린 쿼리 로그를 검사 할 최소한 min_examined_row_limit 행을 실행 이상 long_query_time 초 걸렸 필요한 SQL 문으로 구성되어 있습니다. long_query_time의 최소값과 기본값은 각각 0과 10입니다. 값은 마이크로 초의 해상도로 지정할 수 있습니다. 파일 로깅의 경우 마이크로 초 부분을 포함하여 시간이 기록됩니다. 테이블 로깅의 경우 정수 시간 만 기록됩니다. 마이크로 초 부분은 무시됩니다.

내가 읽고 5.7-5.1의 모든 문서는 값이 그러나 그 해상도는 마이크로 표현, 초 단위로 표시되는 상태
+1

(즉, 6 자리까지의 소수 구성 요소) 5.1 설명서에서 : "5.2 .5 느린 쿼리 로그 : 느린 쿼리 로그는 실행에 long_query_time 초 이상 걸린 모든 SQL 문으로 구성되며 (MySQL 5.1.21 기준) " – dennisjbell