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 중국어 웹사이트의 기타 관련 기사를 참조하세요!