>  기사  >  데이터 베이스  >  MySQL Advanced 11 - 느린 쿼리

MySQL Advanced 11 - 느린 쿼리

黄舟
黄舟원래의
2016-12-29 16:50:10997검색

MySQL은 지정된 시간을 초과하는 쿼리를 기록합니다. 지정된 시간을 초과하는 SQL 쿼리 쿼리를 느린 쿼리라고 합니다.

1. 시간 제한을 확인하세요

show variables like '%long%';

.

+---------------------------------------------------+-----------+
| Variable_name                        | Value     |
+---------------------------------------------------+-----------+
| long_query_time                        | 10.000000 |
| max_long_data_size                     | 1048576   |
| performance_schema_events_waits_history_long_size | 10000     |
+---------------------------------------------------+-----------+


long_query_time을 초과하는 쿼리를 느린 쿼리라고 합니다.

2. 데이터베이스의 시작 시간을 확인하세요

show status like 'uptime%';



+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| Uptime                    | 76333 |
| Uptime_since_flush_status | 76333 |
+---------------------------+-------+


3. 쿼리문 개수

show status like 'com_Select';

를 확인하면

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select    | 1     |
+---------------+-------+


이 표시됩니다. 4. Get 연결 수

show status like 'connections';

표시

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections   | 2     |
+---------------+-------+


5. 느린 쿼리 시간 설정

set long_query_time = 1;

6. 안전 모드에서 mysql 서비스를 시작하면 느린 쿼리 기록이 로그에 기록됩니다.

느린 쿼리 로그 활성화

MySQL 구성 파일에 다음 매개변수를 추가하세요.

log-show-queries = D:/MySQL/Log/mysqld-slow-query. log

long-query-time = 5

log-queries-not-using-indexes

설명:

느린 쿼리의 저장 위치 정보 쿼리 로그 기능을 사용하려면 디렉터리 파일에 쓰기 권한이 있어야 합니다. 설정을 사용할 수 있습니다. 시스템은 기본 파일인 host_name-show.log

long_query_time

SQL 실행 시간 임계값을 제공하며 기본값은 10초입니다

3가지 사항에 유의하세요.

1. long_query_time 임계값을 설정하면 mysql 데이터베이스는 실행 시간이 이 값을 초과하는 모든 SQL 문을 기록하지만 실행 시간이 long_query_time과 정확히 일치하는 경우에는 기록되지 않습니다. 즉, mysql 소스코드에서는 log_query_time보다 크거나 같거나 같지 않다고 판단한다.

2. MySQL 5.1부터 long_query_time이 마이크로초 단위로 계산되기 시작하여 SQL의 실행 시간을 정확하게 기록합니다.

3. 시간은 너무 작지도 크지도 않은 것이 좋으며, 가급적이면 5~10초 사이가 좋습니다. 물론 각자의 상황에 따라 결정하시면 됩니다.

log-queries-not-using-indexes

실행 중인 SQL 문이 인덱스를 사용하지 않는 경우 mysql 데이터베이스는 이 SQL 문도 느린 쿼리 로그 파일에 기록합니다.

위 내용은 MySQL Advanced Eleven - Slow Query의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


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