>  기사  >  데이터 베이스  >  mysql 느린 쿼리 문이란 무엇입니까?

mysql 느린 쿼리 문이란 무엇입니까?

WBOY
WBOY원래의
2022-02-24 11:11:514699검색

mysql에서 느린 쿼리 문은 느린 쿼리 로그에서 특정 실행 시간이 임계값을 초과하는 명령문을 의미합니다. "slow_query_log" 매개변수를 설정하면 됩니다. 느린 쿼리를 활성화합니다. "1"은 켜짐을 의미하고, "0"은 꺼짐을 의미합니다.

mysql 느린 쿼리 문이란 무엇입니까?

이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.

mysql 느린 쿼리문이란

MySQL의 느린 쿼리 로그는 MySQL에서 제공하는 로그 기록으로, MySQL에서 응답 시간이 임계값을 초과하는 명령문을 기록하는 데 사용됩니다. 구체적으로는 실행 시간이 long_query_time 값을 초과하는 SQL을 의미합니다. . 그러면 느린 쿼리 로그에 기록됩니다.

long_query_time의 기본값은 10입니다. 이는 10S 이상 동안 명령문을 실행한다는 의미입니다.

기본적으로 Mysql 데이터베이스는 느린 쿼리 로그를 시작하지 않습니다. 물론 이 매개변수를 수동으로 설정해야 합니다. 튜닝에 필요하지 않은 경우 일반적으로 이 매개변수를 시작하지 않는 것이 좋습니다. 쿼리 로그는 어느 정도 성능에 영향을 미칩니다. 느린 쿼리 로그는 파일에 로그 레코드 쓰기를 지원하고 데이터베이스 테이블에 로그 레코드 쓰기도 지원합니다.

MySQL 느린 쿼리 관련 매개변수 설명:

  • slow_query_log: 느린 쿼리 로그를 켤지 여부, 1은 켜짐, 0은 꺼짐을 의미합니다.

  • log-slow-queries: 이전 버전(5.6 이하 버전) MySQL 데이터베이스 느린 쿼리 로그 저장 경로입니다. 이 매개변수를 설정할 수 없으며 시스템은 기본 파일인 host_name-slow.log

  • slow-query-log-file: 새 버전(5.6 이상) MySQL 데이터베이스 느린 쿼리 로그 저장 경로로 기본 설정됩니다. 이 매개변수는 설정할 수 없으며 시스템은 기본 파일인 host_name-slow.log

  • long_query_time: 느린 쿼리 임계값으로 설정됩니다. 쿼리 시간이 설정된 임계값을 초과하면 로그가 기록됩니다.

  • log_queries_not_using_indexes: 인덱스를 사용하지 않는 쿼리도 느린 쿼리 로그에 기록됩니다(선택 사항).

  • log_output: 로그 저장 방법. log_output='FILE'은 로그를 파일로 저장한다는 의미이며 기본값은 'FILE'이다. log_output='TABLE'은 로그를 데이터베이스에 저장한다는 의미입니다.

slow_query_log

기본적으로 Slow_query_log 값은 OFF입니다. 이는 아래와 같이 Slow_query_log 값을 설정하여 활성화할 수 있음을 의미합니다.

mysql> show variables  like '%slow_query_log%';
 +---------------------+-----------------------------------------------+
 | Variable_name       | Value                                         |
 +---------------------+-----------------------------------------------+
 | slow_query_log      | OFF                                           |
 | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
 +---------------------+-----------------------------------------------+

rows in set (0.00 초)

mysql> set global slow_query_log=1;
 Query OK, 0 rows affected (0.09 sec)

set global Slow_query_log=1을 사용하여 느린 쿼리 로그를 활성화하면 현재 데이터베이스에만 적용되며 MySQL을 다시 시작한 후에는 무효화됩니다.

영구적으로 적용하려면 my.cnf 구성 파일을 수정해야 합니다(다른 시스템 변수도 마찬가지).

my.cnf 아래와 같이 Slow_query_log 및 Slow_query_log_file 매개변수를 추가하거나 수정하려면

slow_query_log = 1
slow_query_log_file = /tmp/mysql_slow.log

그런 다음 MySQL 서버를 다시 시작하세요.

slow_query_log_file

이 매개변수는 느린 쿼리 로그의 저장 경로를 지정하는 데 사용됩니다. 기본값은 host_name-slow.log 파일입니다.

mysql> show variables like 'slow_query_log_file';
 +---------------------+-----------------------------------------------+
 | Variable_name       | Value                                         |
 +---------------------+-----------------------------------------------+
 | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
 +---------------------+-----------------------------------------------+
 1 row in set (0.00 sec)

권장 학습: mysql 비디오 튜토리얼

위 내용은 mysql 느린 쿼리 문이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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