22.9.5 Performance Schema Stage Event Tables
MySQL 5.6.3 현재 성능 스키마는 문 분석 테이블의 오픈 또는 filesort
작업 수행 등의 문 실행 과정의 단계이다 스테이지를 instrument합니다. 스테이지는 SHOW PROCESSLIST
의해 표시되거나 INFORMATION_SCHEMA.PROCESSLIST
테이블에 표시되는 스레드의 상태에 대응합니다. 스테이지는 상태 값이 변화 할 때 시작 및 종료합니다.
이벤트 계층에서 대기 이벤트 무대 이벤트에 중첩하여 스테이지 이벤트는 문 이벤트에 중첩합니다.
이 테이블은 스테이지 이벤트를 저장합니다.
events_stages_current
: 현재의 스테이지 이벤트events_stages_history
: 각 스레드의 최신 스테이지 이벤트events_stages_history_long
: 전체 최신 스테이지 이벤트
다음 섹션에서는 그 테이블에 대해 설명합니다. 스테이지 이벤트에 대한 정보를 집계하는 요약 테이블도 있습니다. 섹션 22.9.9.2 "무대 요약 테이블" 을 참조하십시오.
스테이지 이벤트 구성
스테이지 이벤트의 수집을 활성화하려면 관련 instrument와 소비자를 활성화합니다.
setup_instruments
테이블에는 stage
로 시작하는 이름을 가진 instrument가 포함됩니다. 이 instrument는 기본적으로 비활성화되어 있습니다. 예 :
mysql> SELECT * FROM setup_instruments WHERE NAME RLIKE 'stage/sql/[a-c]';
+----------------------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+----------------------------------------------------+---------+-------+
| stage/sql/After create | NO | NO |
| stage/sql/allocating local table | NO | NO |
| stage/sql/altering table | NO | NO |
| stage/sql/committing alter table to storage engine | NO | NO |
| stage/sql/Changing master | NO | NO |
| stage/sql/Checking master version | NO | NO |
| stage/sql/checking permissions | NO | NO |
| stage/sql/checking privileges on cached query | NO | NO |
| stage/sql/checking query cache for query | NO | NO |
| stage/sql/cleaning up | NO | NO |
| stage/sql/closing tables | NO | NO |
| stage/sql/Connecting to master | NO | NO |
| stage/sql/converting HEAP to MyISAM | NO | NO |
| stage/sql/Copying to group table | NO | NO |
| stage/sql/Copying to tmp table | NO | NO |
| stage/sql/copy to tmp table | NO | NO |
| stage/sql/Creating delayed handler | NO | NO |
| stage/sql/Creating sort index | NO | NO |
| stage/sql/creating table | NO | NO |
| stage/sql/Creating tmp table | NO | NO |
+----------------------------------------------------+---------+-------+
스테이지 이벤트의 수집을 변경하려면 관련 instrument의 ENABLED
및 TIMING
컬럼을 변경합니다. 예 :
mysql>UPDATE setup_instruments SET ENABLED = 'YES', TIMED = 'YES'
->WHERE NAME = 'stage/sql/altering table';
setup_consumers
테이블에는 현재 및 최근의 스테이지 이벤트 테이블 이름에 해당하는 이름을 가진 소비자 값이 저장됩니다. 이러한 소비자 스테이지 이벤트의 컬렉션을 필터링하는 데 사용할 수 있습니다. 스테이지 소비자는 기본적으로 비활성화되어 있습니다.
mysql> SELECT * FROM setup_consumers WHERE NAME LIKE '%stages%';
+----------------------------+---------+
| NAME | ENABLED |
+----------------------------+---------+
| events_stages_current | NO |
| events_stages_history | NO |
| events_stages_history_long | NO |
+----------------------------+---------+
모든 스테이지 소비자를 활성화하려면 다음을 수행합니다.
mysql>UPDATE setup_consumers SET ENABLED = 'YES'
->WHERE NAME LIKE '%stages%';
setup_timers
테이블 스테이지 이벤트의 타이밍 단위를 나타내는 stage
의 NAME
값이있는 행이 포함됩니다. 기본 단위는 NANOSECOND
입니다.
mysql> SELECT * FROM setup_timers WHERE NAME = 'stage';
+-------+------------+
| NAME | TIMER_NAME |
+-------+------------+
| stage | NANOSECOND |
+-------+------------+
타이밍의 단위를 변경하려면 TIMER_NAME
값을 변경합니다.
mysql>UPDATE setup_timers SET TIMER_NAME = 'MICROSECOND'
->WHERE NAME = 'stage';
이벤트 모음 구성에 대한 자세한 내용은 섹션 22.2 "성능 스키마 구성" 을 참조하십시오.