파일을 여기로 끌어오세요

SQL upload ( 0 ) x -

페이지 관련 설정 클릭하여 페이지 상단으로 이동
Ctrl+Enter를 눌러 쿼리를 실행 Enter를 눌러 쿼리를 실행
오름차순
내림차순
순서:
SQL 디버그
개수
실행 순서
소요 시간
정렬 순서:
그룹 질의
그룹 해제 질의
접기 펼치기 추적 보기 추적 숨기기 개수 소요 시간
북마크
다시 보기
추가
북마크 없음
북마크 추가
옵션
기본값으로 초기화
접기 펼치기 다시 쿼리하기 수정 설명 프로파일링 북마크 질의 실패 데이터베이스: 질의 실행 시간:

조언 시스템

가능한 성능 문제

Issue:
업타임이 1일 미만인 관계로 정보 부족으로 인해 성능 최적화가 부정확할 수 있습니다.
Recommendation:
더 정확한 평균값을 계산하기 위해 서버를 하루 이상 가동하신 후 이 아날라이저를 사용하시는 것을 권장합니다
Justification:
업타임이 0일 10시간 8분 54초 밖에 되지 않습니다
Used variable / formula:
Uptime
Test:
value < 86400
Issue:
long_query_time은 10초 이상으로 설정하여, 10초 이상 걸리는 쿼리만 로깅됩니다.
Recommendation:
환경에 따라서 long_query_time 값을 낮게 설정하세요. 일반적으로 1-5초가 적당합니다.
Justification:
long_query_time이 10초로 설정되었습니다.
Used variable / formula:
long_query_time
Test:
value >= 10
Issue:
느린 쿼리에 대한 로깅이 비활성화 상태입니다.
Recommendation:
slow_query_log 설정을 'ON'으로 하여 느린 쿼리를 로깅할 수 있습니다. 이는 성능이 느린 쿼리를 고치는 데 이용할 수 있습니다.
Justification:
slow_query_log가 'OFF'로 설정됨
Used variable / formula:
slow_query_log
Test:
value == 'OFF'
Issue:
정렬중인 로우가 많습니다.
Recommendation:
While there is nothing wrong with a high amount of row sorting, you might want to make sure that the queries which require a lot of sorting use indexed columns in the ORDER BY clause, as this will result in much faster sorting.
Justification:
행 정렬 평균: 46.13 분당
Used variable / formula:
Sort_rows / Uptime
Test:
value * 60 >= 1
Issue:
인덱스 없는 조인이 너무 많습니다.
Recommendation:
This means that joins are doing full table scans. Adding indexes for the columns being used in the join conditions will greatly speed up table joins.
Justification:
테이블 조인 평균: 1.8 초당, 이 값은 시간당 1미만이어야 합니다
Used variable / formula:
(Select_range_check + Select_scan + Select_full_join) / Uptime
Test:
value * 60 * 60 > 1
Issue:
첫 번째 인덱스 항목을 읽는 비율이 높습니다.
Recommendation:
전체 인덱스 스캔이 자주 발생할 경우 이렇게 됩니다. 전체 인덱스 스캔은 테이블 스캔보다는 빠르지만 큰 테이블에서는 CPU 자원을 많이 씁니다. 이런 테이블들이 대용량의 UPDATE와 DELETE를 했거나 하는 중이라면, 'OPTIMIZE TABLE'을 수행하여 전체 인덱스 스캔 속도를 높이거나 횟수를 줄일 수 있습니다. 그 외에 리라이트(rewrite) 쿼리에 의해 전체 인덱스 스캔이 줄어들 수 있습니다.
Justification:
인덱스 스캔 평균: 4.44 분당, 이 값은 시간당 1미만이어야 합니다
Used variable / formula:
Handler_read_first / Uptime
Test:
value * 60 * 60 > 1
Issue:
고정된 위치에서 데이터를 읽는 비율이 높습니다.
Recommendation:
많은 쿼리들이 결과를 정렬하거나 전체 테이블 스캔이 필요함을 의미합니다. 인덱스를 쓰지 않는 조인 쿼리도 포함됩니다. 인덱스를 적절히 추가하세요.
Justification:
고정된 위치의 데이터를 읽는 비율 평균: 45.85 분당, 이 값은 시간당 1 미만이어야 합니다
Used variable / formula:
Handler_read_rnd / Uptime
Test:
value * 60 * 60 > 1
Issue:
다음 행 읽는 비율이 높습니다.
Recommendation:
이는 많은 수의 질의문들이 전체 테이블 스캔을 요구했다는 것을 뜻합니다. 적절한 위치에 인덱스를 추가하시기 바랍니다.
Justification:
다음 행 읽기 비율: 47.16 초당, 이 값은 시간당 1 미만이어야 합니다
Used variable / formula:
Handler_read_rnd_next / Uptime
Test:
value * 60 * 60 > 1
Issue:
많은 임시 테이블들이 메모리에만 저장되지 않고 디스크에 기록되고 있습니다.
Recommendation:
Increasing max_heap_table_size and tmp_table_size might help. However some temporary tables are always being written to disk, independent of the value of these variables. To eliminate these you will have to rewrite your queries to avoid those conditions (Within a temporary table: Presence of a BLOB or TEXT column or presence of a column bigger than 512 bytes) as mentioned in the MySQL Documentation
Justification:
임시테이블이 디스크에 저장되는 비율: 23.88 분당, 이 값은 시간당 1 이하가 좋습니다
Used variable / formula:
Created_tmp_disk_tables / Uptime
Test:
value * 60 * 60 > 1
Issue:
MyISAM key buffer (index cache) % used is low.
Recommendation:
key_buffer_size 크기를 줄여야 할 수도 있으며, 인덱스가 제거된 적이 있는지 테이블을 다시 검사하거나, 쿼리를 검사하여 어떤 인덱스들이 사용될지 예상하시기 바랍니다.
Justification:
max % MyISAM key buffer ever used: 0%, this value should be above 95%
Used variable / formula:
Key_blocks_used * key_cache_block_size / key_buffer_size * 100
Test:
value < 95
Issue:
열려있는 테이블의 비율이 너무 높습니다.
Recommendation:
테이블을 여는 데에는 디스크 입출력이 요구되어 시간이 많이 소모됩니다.table_open_cache값을 올리는 것이 해결에 도움이 될 수 있습니다.
Justification:
열린 테이블 비율: 20.4 시간당, 이 값은 시간당 10보다 작아야 합니다
Used variable / formula:
Opened_tables / Uptime
Test:
value*60*60 > 10
Issue:
열려있는 파일의 비율이 너무 높습니다.
Recommendation:
open_files_limit를 증가시키는 것을 고려하시기 바라며, open_files_limit 값을 변경하고 재시작한 뒤 에러 로그를 확인하십시오.
Justification:
열린 파일 비율: 8.57 시간당, 이 값은 시간당 5 미만이어야 합니다
Used variable / formula:
Open_files / Uptime
Test:
value * 60 * 60 > 5
Issue:
Less than 80% of the query cache is being utilized.
Recommendation:
이것은 query_cache_limit이 너무 낮아 발생했을 수 있습니다. 질의 캐시를 비우는게 도움이 될 수 있습니다.
Justification:
전체 쿼리 캐시 크기(Size)에서 남은 쿼리 캐시 메모리의 현재 비율은 13% 입니다. 80%보다 높아야 됩니다
Used variable / formula:
100 - Qcache_free_memory / query_cache_size * 100
Test:
value < 80
Issue:
쿼리 캐시의 결과 셋의 최대 크기가 기본값인 1 MiB 입니다.
Recommendation:
query_cache_limit를 변경(일반적으로 증가)하여 효율을 높일 수 있습니다. 이 값은 쿼리 캐시에 넣을 수 있는 쿼리 결과의 최댓값을 결정합니다. 만약 1 MiB 이상의 캐시될 가능성이 높은 쿼리 결과(많은 읽기, 적은 쓰기)가 많다면, query_cache_limit를 증가하는 것이 효율을 높일 수 있습니다. 반면, 1 MiB 이상의 캐시될 가능성이 낮은 쿼리 결과(테이블 업데이트로 캐시가 무효화된다던가)가 많은 경우, query_cache_limit를 증가시키는 것은 효율을 낮출 수도 있습니다.
Justification:
query_cache_limit가 1Mib로 설정되었습니다
Used variable / formula:
query_cache_limit
Test:
value == 1024*1024