22.9.9.6 Table I/O 및 잠금 대기 요약 테이블
다음 섹션에서는 테이블 I/O 및 잠금 대기 요약 테이블에 대해 설명합니다.
table_io_waits_summary_by_index_usage: 각 인덱스 테이블 I / O 대기table_io_waits_summary_by_table: 테이블 당 테이블 I / O 대기table_lock_waits_summary_by_table: 테이블 당 테이블 잠금 대기
22.9.9.6.1 table_io_waits_summary_by_table 테이블
table_io_waits_summary_by_table 테이블은 wait/io/table/sql/handler instrument에 의해 생성되는 모든 테이블 I / O 대기 이벤트를 집계합니다. 그룹화는 테이블 단위입니다.
table_io_waits_summary_by_table 테이블에는 테이블의 이벤트 집계 방법을 보여주는이 그룹화 컬럼이 있습니다. OBJECT_TYPE , OBJECT_SCHEMA 및 OBJECT_NAME . 이 컬럼은 events_waits_current 테이블과 같은 의미를가집니다. 그들은 행의 적용 대상 테이블을 식별합니다.
table_io_waits_summary_by_table 에 집계 된 값을 포함하는 다음의 요약 열 수 있습니다. 컬럼의 설명과 같이 일부 열은 일반적으로 더 상세한 컬럼 값의 합계와 같은 값을가집니다. 예를 들어, 모든 기록을 집계하는 열 삽입, 업데이트 및 삭제를 집계하는 해당 컬럼의 합계를 유지합니다. 이처럼 낮은 수준 칼럼을 총 사용자 정의 뷰를 필요로하지 않고 높은 수준의 통합을 직접 가져올 수 있습니다.
COUNT_STAR,SUM_TIMER_WAIT,MIN_TIMER_WAIT,AVG_TIMER_WAIT,MAX_TIMER_WAIT이 컬럼은 모든 I / O 작업을 집계합니다. 그들은 해당
및xxx_READ전체 컬럼과 동일합니다.xxx_WRITECOUNT_READ,SUM_TIMER_READ,MIN_TIMER_READ,AVG_TIMER_READ,MAX_TIMER_READ이 컬럼은 모든 읽기 작업을 집계합니다. 그들은 해당
전체 컬럼과 동일합니다.xxx_FETCHCOUNT_WRITE,SUM_TIMER_WRITE,MIN_TIMER_WRITE,AVG_TIMER_WRITE,MAX_TIMER_WRITE이 컬럼은 모든 쓰기 작업을 집계합니다. 그들은 해당
,xxx_INSERT및xxx_UPDATE전체 컬럼과 동일합니다.xxx_DELETECOUNT_FETCH,SUM_TIMER_FETCH,MIN_TIMER_FETCH,AVG_TIMER_FETCH,MAX_TIMER_FETCH이 컬럼은 모든 반입 작업을 집계합니다.
COUNT_INSERT,SUM_TIMER_INSERT,MIN_TIMER_INSERT,AVG_TIMER_INSERT,MAX_TIMER_INSERT이 컬럼은 모든 삽입을 집계합니다.
COUNT_UPDATE,SUM_TIMER_UPDATE,MIN_TIMER_UPDATE,AVG_TIMER_UPDATE,MAX_TIMER_UPDATE이 컬럼은 모든 업데이트 작업을 집계합니다.
COUNT_DELETE,SUM_TIMER_DELETE,MIN_TIMER_DELETE,AVG_TIMER_DELETE,MAX_TIMER_DELETE이 컬럼은 모든 제거 작업을 집계합니다.
TRUNCATE TABLE 은 테이블 I / O 요약 테이블에 사용할 수 있습니다. 그것은 행을 삭제하는 것이 아니라 요약 컬럼을 0으로 재설정합니다. 이 테이블을 자르면 table_io_waits_summary_by_index_usage 테이블도 잘립니다.
22.9.9.6.2 table_io_waits_summary_by_index_usage 테이블
table_io_waits_summary_by_index_usage 테이블은 wait/io/table/sql/handler instrument에 의해 생성되는 모든 테이블 인덱스 I / O 대기 이벤트를 집계합니다. 그룹화는 테이블 인덱스 단위입니다.
table_io_waits_summary_by_index_usage 의 구조는 table_io_waits_summary_by_table 와 거의 동일합니다. 유일한 차이점은 테이블 I / O 대기 이벤트가 기록 될 때 사용 된 인덱스의 이름에 해당하는 추가 그룹 컬럼 INDEX_NAME 입니다.
PRIMARY값은 테이블 I / O에서 기본 인덱스가 사용 된 것을 나타냅니다.NULL값은 테이블 I / O에서 인덱스가 사용되지 않았 음을 나타냅니다.삽입
INDEX_NAME = NULL에 대해 계산됩니다.
TRUNCATE TABLE 은 테이블 I / O 요약 테이블에 사용할 수 있습니다. 그것은 행을 삭제하는 것이 아니라 요약 컬럼을 0으로 재설정합니다. 이 테이블도 table_io_waits_summary_by_table 테이블 자르면 잘립니다. 테이블의 색인 구조를 변경하는 DDL 조작에 의해 각 인덱스의 통계가 재설정 될 수 있습니다.
22.9.9.6.3 table_lock_waits_summary_by_table 테이블
table_lock_waits_summary_by_table 테이블은 wait/lock/table/sql/handler instrument에 의해 생성되는 모든 테이블 잠금 대기 이벤트를 집계합니다. 그룹화는 테이블 단위입니다.
이 테이블에는 내부 및 외부 잠금에 대한 정보가 포함됩니다.
내부 잠금은 SQL 레이어의 잠금을 지원합니다. 이것은 현재
thr_lock()를 호출하여 구현됩니다. 이벤트 행에서 이러한 잠금은 다음 중 하나의 값을 가지는OPERATION컬럼에 의해 구별됩니다.read normal read with shared locks read high priority read no insert write allow write write concurrent insert write delayed write low priority write normal
외부 잠금 스토리지 엔진 레이어의 잠금을 지원합니다. 이것은 현재
handler::external_lock()를 호출하여 구현됩니다. 이벤트 행에서 이러한 잠금은 다음 중 하나의 값을 가지는OPERATION컬럼에 의해 구별됩니다.read external write external
table_lock_waits_summary_by_table 테이블에는 테이블의 이벤트 집계 방법을 보여주는이 그룹화 컬럼이 있습니다. OBJECT_TYPE , OBJECT_SCHEMA 및 OBJECT_NAME . 이 컬럼은 events_waits_current 테이블과 같은 의미를가집니다. 그들은 행의 적용 대상 테이블을 식별합니다.
table_lock_waits_summary_by_table 에 집계 된 값을 포함하는 다음의 요약 열 수 있습니다. 컬럼의 설명과 같이 일부 열은 일반적으로 더 상세한 컬럼 값의 합계와 같은 값을가집니다. 예를 들어, 모든 잠금을 집계하는 열은 읽기 및 쓰기 잠금을 집계하는 해당 컬럼의 합계를 유지합니다. 이처럼 낮은 수준 칼럼을 총 사용자 정의 뷰를 필요로하지 않고 높은 수준의 통합을 직접 가져올 수 있습니다.
COUNT_STAR,SUM_TIMER_WAIT,MIN_TIMER_WAIT,AVG_TIMER_WAIT,MAX_TIMER_WAIT이 컬럼은 모든 잠금 작업을 집계합니다. 그들은 해당
및xxx_READ전체 컬럼과 동일합니다.xxx_WRITECOUNT_READ,SUM_TIMER_READ,MIN_TIMER_READ,AVG_TIMER_READ,MAX_TIMER_READ이 컬럼은 모든 읽기 잠금 작업을 집계합니다. 그들은 해당
,xxx_READ_NORMAL,xxx_READ_WITH_SHARED_LOCKS및xxx_READ_HIGH_PRIORITY전체 컬럼과 동일합니다.xxx_READ_NO_INSERTCOUNT_WRITE,SUM_TIMER_WRITE,MIN_TIMER_WRITE,AVG_TIMER_WRITE,MAX_TIMER_WRITE이 컬럼은 모든 쓰기 잠금 작업을 집계합니다. 그들은 해당
,xxx_WRITE_ALLOW_WRITE,xxx_WRITE_CONCURRENT_INSERT,xxx_WRITE_DELAYED및xxx_WRITE_LOW_PRIORITY전체 컬럼과 동일합니다.xxx_WRITE_NORMALCOUNT_READ_NORMAL,SUM_TIMER_READ_NORMAL,MIN_TIMER_READ_NORMAL,AVG_TIMER_READ_NORMAL,MAX_TIMER_READ_NORMAL이러한 열은 내부 읽기 잠금을 집계합니다.
COUNT_READ_WITH_SHARED_LOCKS,SUM_TIMER_READ_WITH_SHARED_LOCKS,MIN_TIMER_READ_WITH_SHARED_LOCKS,AVG_TIMER_READ_WITH_SHARED_LOCKS,MAX_TIMER_READ_WITH_SHARED_LOCKS이러한 열은 내부 읽기 잠금을 집계합니다.
COUNT_READ_HIGH_PRIORITY,SUM_TIMER_READ_HIGH_PRIORITY,MIN_TIMER_READ_HIGH_PRIORITY,AVG_TIMER_READ_HIGH_PRIORITY,MAX_TIMER_READ_HIGH_PRIORITY이러한 열은 내부 읽기 잠금을 집계합니다.
COUNT_READ_NO_INSERT,SUM_TIMER_READ_NO_INSERT,MIN_TIMER_READ_NO_INSERT,AVG_TIMER_READ_NO_INSERT,MAX_TIMER_READ_NO_INSERT이러한 열은 내부 읽기 잠금을 집계합니다.
COUNT_READ_EXTERNAL,SUM_TIMER_READ_EXTERNAL,MIN_TIMER_READ_EXTERNAL,AVG_TIMER_READ_EXTERNAL,MAX_TIMER_READ_EXTERNAL이 컬럼은 외부 읽기 잠금을 집계합니다.
COUNT_WRITE_ALLOW_WRITE,SUM_TIMER_WRITE_ALLOW_WRITE,MIN_TIMER_WRITE_ALLOW_WRITE,AVG_TIMER_WRITE_ALLOW_WRITE,MAX_TIMER_WRITE_ALLOW_WRITE이러한 열은 내부 기입 락을 집계합니다.
COUNT_WRITE_CONCURRENT_INSERT,SUM_TIMER_WRITE_CONCURRENT_INSERT,MIN_TIMER_WRITE_CONCURRENT_INSERT,AVG_TIMER_WRITE_CONCURRENT_INSERT,MAX_TIMER_WRITE_CONCURRENT_INSERT이러한 열은 내부 기입 락을 집계합니다.
COUNT_WRITE_DELAYED,SUM_TIMER_WRITE_DELAYED,MIN_TIMER_WRITE_DELAYED,AVG_TIMER_WRITE_DELAYED,MAX_TIMER_WRITE_DELAYED이러한 열은 내부 기입 락을 집계합니다.
MySQL 5.6.6 이후
DELAYED삽입 비추천이기 때문에 이러한 열은 향후 릴리스에서 제거됩니다.COUNT_WRITE_LOW_PRIORITY,SUM_TIMER_WRITE_LOW_PRIORITY,MIN_TIMER_WRITE_LOW_PRIORITY,AVG_TIMER_WRITE_LOW_PRIORITY,MAX_TIMER_WRITE_LOW_PRIORITY이러한 열은 내부 기입 락을 집계합니다.
COUNT_WRITE_NORMAL,SUM_TIMER_WRITE_NORMAL,MIN_TIMER_WRITE_NORMAL,AVG_TIMER_WRITE_NORMAL,MAX_TIMER_WRITE_NORMAL이러한 열은 내부 기입 락을 집계합니다.
COUNT_WRITE_EXTERNAL,SUM_TIMER_WRITE_EXTERNAL,MIN_TIMER_WRITE_EXTERNAL,AVG_TIMER_WRITE_EXTERNAL,MAX_TIMER_WRITE_EXTERNAL이 컬럼은 외부 기입 락을 집계합니다.
TRUNCATE TABLE 은 테이블 잠금 요약 테이블에 사용할 수 있습니다. 그것은 행을 삭제하는 것이 아니라 요약 컬럼을 0으로 재설정합니다.