이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 13673|회답: 0

[출처] MySQL은 일반 쿼리 로그와 느린 쿼리 로그를 지원합니다

[링크 복사]
게시됨 2019. 3. 19. 오후 4:31:34 | | | |
MySQL의 로그에는 오류 로그, 이진 로그, 일반 쿼리 로그, 느린 쿼리 로그 등이 포함됩니다. 다음은 일반적으로 사용되는 두 가지 함수입니다: 일반 쿼리 로그와 느린 쿼리 로그입니다.

1) 느린 쿼리 로그:long_query_time초 이상 실행되거나 인덱스를 사용하지 않는 모든 쿼리를 기록하세요

2) 일반 쿼리 로그:클라이언트 연결 설정과 실행된 문장을 기록하세요.


1: MySQL 느린 쿼리에 대하여:
Mysql에서 느린 쿼리 로깅을 켜는 방법
https://www.itsvse.com/thread-1767-1-1.html
(출처: Architect_Programmer)

MySQL의 느린 쿼리 로그는 MySQL에서 제공하는 일종의 로깅으로, MySQL의 응답 시간이 임계값을 초과했다는 문장을 기록하는 데 사용됩니다. 특히 실행 시간이 long_query_time 이상인 SQL을 의미하며, 이는 느린 쿼리 로그에 기록됩니다(로그는 파일이나 데이터베이스 테이블에 기록될 수 있으며, 성능 요구가 높으면 파일을 작성하는 것이 권장됩니다). 기본적으로 MySQL 데이터베이스는 느린 쿼리 로그를 활성화하지 않으며, long_query_time의 기본 값은 10(즉, 10초, 보통 1초로 설정)입니다. 즉, 10초 이상 실행되는 문은 느린 쿼리 문으로 간주됩니다.

일반적으로 느린 쿼리는 큰 테이블(예: 수백만 개의 데이터가 있는 테이블)에서 발생하며, 쿼리 조건의 필드는 인덱싱되지 않으며, 이 시점에서는 쿼리 조건에 맞는 필드가 전체 테이블에서 스캔되어 long_query_time을 확인하는 데 시간이 걸립니다.

이것은 느린 쿼리 문장입니다.

질문: 느린 쿼리 로그의 현재 열기 상태를 어떻게 확인할 수 있나요?

MySQL에서 명령어를 입력하세요:


다음 매개변수들이 주로 마스터됩니다:

(1) slow_query_log의 값은 느린 쿼리 로그를 켜기 위해 ON이고, OFF는 느린 쿼리 로그를 끄는 데 사용됩니다.

(2) slow_query_log_file의 값은 파일에 기록된 느린 쿼리 로그입니다(참고: 기본 이름은 hostname.log이며, 느린 쿼리 로그가 지정된 파일에 기록되었는지는 느린 쿼리의 출력 로그 형식을 파일로 지정해야 하며, 관련 명령어는 다음과 같습니다: '%log_output%'와 같은 변수를 보여주기; 출력 형식을 보기 위해서입니다.

(3) long_query_time 슬로우 쿼리의 임계값을 명시합니다. 즉, 실행 시간이 이 임계값을 초과하면 느린 쿼리 문이 되며 기본값은 10초입니다.

(4) log_queries_not_using_indexes 값이 ON으로 설정되어 있으면, 인덱스를 사용하지 않는 모든 쿼리가 기록됩니다(참고: log_queries_not_using_indexes이 ON으로만 설정되어 있고 slow_query_log이 OFF로 설정되어 있다면, 이 시점에서는 설정이 적용되지 않습니다. 즉, slow_query_log 값이 ON으로 설정되어 있을 때 설정이 적용됩니다.) , 이 기능은 일반적으로 공연 조정 시 일시적으로 켜집니다.


2. 일반 쿼리 로그

만약 general_log의 값이ON이 켜져 있습니다, 에 대해OFF는 닫혔습니다(기본값으로 꺼짐).

현재 느린 쿼리 로그 출력의 형식을 확인해 보세요. 이는 FILE(디지털 데이터베이스의 데이터 파일에 저장된 hostname.log)이거나 TABLE(데이터베이스에 저장된 mysql.general_log)일 수 있습니다



(참고: 위 명령어는 현재 시점에만 유효하며, MySQL 재시작이 유효하지 않을 때만 적용됩니다. 영구적으로 적용하려면 my.cnf 설정을 해야 합니다.)

로그 출력의 렌더링은 다음과 같습니다:





my.cnf 파일은 다음과 같이 구성되어 있습니다:

general_log=1 #为1表示开启通用日志查询, 값이 0이면 일반 로그 쿼리가 종료되었음을 나타냅니다

log_output=FILE,TABLE# 일반 로그의 출력 형식을 파일과 테이블로 설정합니다





이전의:C# Enum enum 타입 연산 확장 클래스
다음:Crypto-JS는 파일의 SHA256 값을 계산합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com