>  기사  >  데이터 베이스  >  MySQL의 느린 쿼리 로그 구성 및 사용 예

MySQL의 느린 쿼리 로그 구성 및 사용 예

黄舟
黄舟원래의
2017-09-18 10:23:121419검색

MySQL 느린 쿼리 로그는 지정된 시간 임계값을 초과하는 쿼리 정보를 제공하여 성능 최적화를 위한 주요 참조를 제공합니다.
MySQL 느린 쿼리 로그는 매우 간단하게 열고 구성할 수 있습니다. 기록 파일(또는 테이블), 초과된 시간 임계값 등이 SQL을 느리게 기록할 수 있습니다.
솔직히 말하면 sqlserver의 추적 또는 확장 이벤트(이 둘의 기능만은 아니지만)에 비해 MySQL의 구성은 항상 사람들에게 매우 상쾌한 느낌.

 1. 느린 쿼리 로그 열기

일반적인 상황에서는 구성 파일에 Slow_query_log = 1 구성만 추가하면 됩니다. 즉, 느린 쿼리 로그를 지정하지 않으면 호스트가 있는 파일을 엽니다. name + 'slow' .log 파일이 자동으로 생성됩니다.

  

  2. 기본적으로 느린 쿼리를 기록하는 시간 임계값은 10초입니다

  

 기본적으로 Slow_query_log = 1을 지정하고 MySQL을 시작하면 느린 쿼리가 켜지고 기본 호스트가 10초 이상 실행되는 느린 쿼리를 기록하기 위한 ++'slow'.log라는 파일이 자동으로 생성됩니다.

  느린 쿼리 로그 파일 이름(존재하지 않는 경우 자동으로 생성됨)과 느린 쿼리 기록을 위한 시간 임계값(기본값이 10초 아님)을 명시적으로 지정할 수도 있습니다.

  

  참고로 구성 파일에 long_query_time을 지정할 때는 시간 단위가 필요하지 않으며 1을 나타내는 1과 같은 값만 필요합니다. 시간 단위를 지정하면 서비스가 시작되지 않습니다.

 

 다음은 로그 파일에 기록된 느린 SQL의 예

 

 3. 느린 쿼리 로그를 테이블에 기록합니다

구성: 느린 쿼리를 테이블에 기록하려면 log_output 구성을 추가해야 합니다. 테이블 승리

mysql 라이브러리 아래에는 기본 Slow_log 테이블이 있습니다. Slow_query_log_file = Slow_log를 직접 설정하여 느린 쿼리 로그를 테이블에 기록할 수 있습니다.

  

  기록된 느린 SQL은 다음과 같습니다. sql_text는 원본 SQL 텍스트가 아닌 바이너리 정보임을 알 수 있습니다

  

 CONVERT 함수를 통해 변환할 수 있습니다.

 

로그 파일과 테이블에 기록되는 느린 쿼리의 차이점:

 1. 느린 쿼리는 로그 파일과 테이블에 기록되는 경우 기록 자체는 크게 다르지 않습니다. 느린 쿼리는 실행 시간 정보가 미묘하게 정확할 수 없습니다,

  2. 느린 쿼리 정보를 테이블에 기록하면 쿼리하기에는 편리하지만, 구조화된 데이터이기 때문에 느린 쿼리에 기록하는 것보다는 느릴 수 있습니다. 쿼리 로그 파일(플랫 텍스트 파일) 약간(개인적인 추측), 파일에 기록된 경우 mysqldumpslow 도구로 구문 분석해야 합니다.

3. 느린 쿼리는 실행에 실패한 쿼리를 기록하지 않습니다. 예를 들어 long_query_time을 10(10초)으로 설정한 경우 쿼리가 10초를 초과했지만 다른 이유로 실행에 실패하면 MySQL의 느린 쿼리는 기록되지 않습니다. 이 쿼리 정보를 기록할 수 있습니다.

🎜

위 내용은 MySQL의 느린 쿼리 로그 구성 및 사용 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.