MySQL 느린 쿼리 로그 관련 구성 및 사용법

一个新手
풀어 주다: 2017-09-30 10:36:15
원래의
1220명이 탐색했습니다.

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

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

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

 

 기본적으로 Slow_query_log = 1로 지정하면 MySQL을 시작할 때 느린 쿼리를 열고 기본 Hostname++'slow'.log 파일을 자동으로 생성하여 10초 이상 실행을 초과하는 느린 쿼리를 기록할 수 있습니다.

  느린 쿼리 로그 파일 이름(존재하지 않는 경우 자동으로 생성됨)과 느린 쿼리 기록을 위한 시간 임계값(기본값이 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!