mysql은 시간이 많이 걸리는 sql을 기록합니다.
mysql은 최적화 및 분석을 위해 시간이 많이 걸리는 sql이나 사용하지 않는 인덱스 sql을 느린 로그에 기록할 수 있습니다. 이 글은 주로 mysql 기록에 시간이 많이 걸리는 SQL 예제에 대한 자세한 설명을 소개하고 있습니다. 필요한 친구들이 참고하면 도움이 될 것입니다.
1. mysql 느린 쿼리 로그 활성화:
mysql 느린 쿼리 로그는 현재 프로그램에서 리소스를 소비하는 SQL 문을 분석하는 데 매우 유용합니다. of mysql What?
mysql> show variables like 'log_slow_queries'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | log_slow_queries | OFF | +------------------+-------+ 1 row in set (0.01 sec) mysql>
long_query_time=1 log-slow-queries=/var/mysql/logs/slow.log
이 매개변수는 느린 쿼리의 측정 시간을 나타내며, 단위는 초, 최소값은 1, 기본값은 10입니다. 실행 시간이 long_query_time을 초과하는 모든 SQL 문은 느린 쿼리 로그에 기록됩니다
file_name 매개변수는 선택사항입니다. 기본값은 host_name-slow.log입니다. file_name이 설정한 파일에 대한 느린 쿼리 로그입니다. file_name이 상대 경로를 제공하면 mysql은 mysql의 데이터 디렉터리에 로그를 기록합니다. 이 매개변수는 구성 파일에만 추가할 수 있으며 명령줄에서는 실행할 수 없습니다.
mysql 시작 구성 파일 또는 명령줄 매개변수에 "log_queries_not_using_indexes" 매개변수를 추가하여 느린 로그 내부에 사용되지 않는 인덱스 쿼리 문을 추가합니다.
샘플은 다음과 같습니다.
[root@localhost mysqlsla-2.03]# more /etc/my.cnf [mysqld] datadir=/var/lib/mysql log_bin=/tmp/mysql/bin-log/mysql-bin.log log_bin=ON socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 log_slow_queries=/tmp/127_slow.log long_query_time=1 log_queries_not_using_indexes .......
mysql> show variables like 'log_slow_queries'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | log_slow_queries | ON | +------------------+-------+ 1 row in set (0.00 sec) mysql> show variables like 'long_query_time'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | long_query_time | 2 | +-----------------+-------+ 1 row in set (0.00 sec) mysql>
위 내용은 시간이 많이 걸리는 mysql 기록의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!