22.9.4.1 events_waits_current 테이블
events_waits_current
테이블에는 스레드의 최신 모니터되는 대기 이벤트의 현재 상태를 나타내는 스레드마다 한 줄에 현재 대기 이벤트가 포함됩니다.
events_waits_current
테이블은 TRUNCATE TABLE
로자를 수 있습니다.
대기 이벤트 행을 포함하는 테이블 중 events_waits_current
가장 기본적인입니다. 대기 이벤트 행을 포함하는 다른 테이블은 논리적으로 현재의 이벤트에서 파생됩니다. 예를 들어, events_waits_history
및 events_waits_history_long
테이블은 고정 된 행의 수보다 최신의 대기 이벤트의 모음입니다.
대기 이벤트 모음 구성 내용은 섹션 22.9.4 "성능 스키마 대기 이벤트 테이블" 을 참조하십시오.
events_waits_current
테이블에는 이러한 열이 있습니다.
THREAD_ID
,EVENT_ID
이벤트와 관련된 스레드와 이벤트의 시작 스레드의 현재 이벤트 번호. 함께 취득 된
THREAD_ID
및EVENT_ID
값은 행을 고유하게 식별하는 기본 키를 형성합니다. 2 개의 행이 동일한 값 쌍을 가질 수 없습니다.END_EVENT_ID
이 컬럼은 이벤트를 시작할 때
NULL
로 설정되고 이벤트가 종료 될 때 스레드의 현재 이벤트 번호로 업데이트됩니다. 이 컬럼은 MySQL 5.6.4에서 추가되었습니다.EVENT_NAME
이벤트를 생성 한 instrument의 이름. 이것은
setup_instruments
테이블의NAME
값입니다. 섹션 22.4 "성능 스키마 instrument 명명 규칙" 에 설명 된대로 instrument 이름은 여러 부분이 계층을 형성 할 수 있습니다.SOURCE
이벤트를 생성 한 instrument 된 코드를 포함하는 소스 파일의 이름과 계측이 열린 파일의 행 번호. 이렇게하면 소스를 확인하고 코드에 포함 된 항목을 정확하게 판단 할 수 있습니다. 예를 들어, 상호 배타적 잠금 또는 잠금이 차단 된 경우이 문제가 발생하는 상황을 확인할 수 있습니다.
TIMER_START
,TIMER_END
,TIMER_WAIT
이벤트의 타이밍 정보. 이 값의 단위는 피코 초 (초 1 조분의 1)입니다.
TIMER_START
및TIMER_END
값은 이벤트 타이밍이 시작되었을 때와 끝날 때를 나타냅니다.TIMER_WAIT
는 이벤트의 경과 시간 (기간)입니다.이벤트가 종료되지 않은 경우
TIMER_END
과TIMER_WAIT
은NULL
입니다.이벤트가
TIMED = NO
instrument에서 생성되는 경우 타이밍 정보는 수집되지 않고TIMER_START
,TIMER_END
및TIMER_WAIT
모두NULL
입니다.이벤트 시간 단위로 피코 초 및 시간 값에 영향을주는 요인에 대해서는 섹션 22.2.3.1 "성능 스키마 이벤트 타이밍" 을 참조하십시오.
SPINS
상호 배타 락의 경우 스핀 라운드의 수. 값이
NULL
의 경우 코드는 스핀 라운드를 사용하지 않거나, 스피닝가 instrument되지 않습니다.OBJECT_SCHEMA
,OBJECT_NAME
,OBJECT_TYPE
,OBJECT_INSTANCE_BEGIN
이 컬럼은 "작용하고있다"개체를 식별합니다. 그 의미는 객체의 유형에 따라 다릅니다.
동기화 객체 (
cond
,mutex
및rwlock
)의 경우 :OBJECT_SCHEMA
,OBJECT_NAME
및OBJECT_TYPE
은NULL
입니다.OBJECT_INSTANCE_BEGIN
는 메모리의 동기화 개체의 주소입니다.
파일 I / O 객체의 경우 :
OBJECT_SCHEMA
은NULL
입니다.OBJECT_NAME
은 파일 이름입니다.OBJECT_TYPE
은FILE
입니다.OBJECT_INSTANCE_BEGIN
는 메모리의 주소입니다.
소켓 객체의 경우 :
OBJECT_NAME
는 소켓의IP:PORT
입니다.OBJECT_INSTANCE_BEGIN
는 메모리의 주소입니다.
테이블 I / O 객체의 경우 :
OBJECT_SCHEMA
는 테이블을 포함하는 스키마의 이름입니다.OBJECT_NAME
테이블 이름입니다.OBJECT_TYPE
는 영구 기본 테이블의TABLE
또는 임시 테이블TEMPORARY TABLE
입니다.OBJECT_INSTANCE_BEGIN
는 메모리의 주소입니다.
OBJECT_INSTANCE_BEGIN
값 자체는 다양한 값이 여러 개체를 나타내는 것을 제외하고는 의미가 없습니다.OBJECT_INSTANCE_BEGIN
는 디버깅에 사용할 수 있습니다. 예를 들어, 그것을GROUP BY OBJECT_INSTANCE_BEGIN
사용하여 1,000 상호 배타 락 (즉, 데이터의 1,000 페이지 또는 블록을 보호하는)의 부하가 균일하게 분산하거나 약간 병목 현상에만 관련되어 있는지 확인 수 있습니다. 그러면 로그 파일이나 기타 디버깅 또는 성능 도구 같은 개체 주소가 보인 경우에, 정보의 다른 소스와 연결할 수 있습니다.INDEX_NAME
사용되는 인덱스의 이름입니다.
PRIMARY
는 테이블 기본 인덱스를 나타냅니다.NULL
인덱스가 사용되지 않았 음을 의미합니다.NESTING_EVENT_ID
이 이벤트가 동안 중첩되는 이벤트
EVENT_ID
값. MySQL 5.6.3 이전에는이 열은 항상NULL
입니다.NESTING_EVENT_TYPE
중첩 된 이벤트의 종류. 값은
STATEMENT
,STAGE
또는WAIT
입니다. 이 컬럼은 MySQL 5.6.3에서 추가되었습니다.OPERATION
lock
,read
또는write
등의 수행되는 작업의 종류.NUMBER_OF_BYTES
조작에 의해 읽거나 쓸 바이트 수. 테이블 I / O 대기 (
wait/io/table/sql/handler
instrument의 이벤트)의 경우NUMBER_OF_BYTES
은NULL
입니다.FLAGS
나중에 사용하기 위해 예약되어 있습니다.