메뉴 건너뛰기

(*.155.195.240) 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 http://www.innodbcluster.com/?depth=212904

INFORMATION_SCHEMA INNODB_TRX 테이블

INNODB_TRX 테이블에 트랜잭션이 잠금을 대기하고 있는지 트랜잭션이 시작되었을 때 트랜잭션이 실행하는 SQL 문 (존재하는 경우) 등 InnoDB 내부에서 현재 실행중인 (읽기 전용 트랜잭션을 제외 ) 모든 트랜잭션에 대한 정보가 포함되어 있습니다.

표 21.4 INNODB_TRX 컬럼

컬럼 이름설명
TRX_IDInnoDB 내부의 고유 한 트랜잭션 ID 번호. (MySQL 5.6 이후 이러한 ID는 읽기 전용 비 잠금 트랜잭션에서는 생성되지 않습니다. 자세한 내용은 섹션 14.13.14 "InnoDB의 읽기 전용 트랜잭션 최적화" 를 참조하십시오.)
TRX_WEIGHT트랜잭션의 무게. 이것은 트랜잭션이 변경 한 행의 수와 잠긴 행의 수를 반영한​​ 것입니다 (그러나 반드시 정확한 수는 없습니다). 교착 상태를 해결하기 위해 InnoDB 는 롤백 "대상"으로 가중치가 가장 작은 트랜잭션을 선택합니다. 비 트랜잭션 테이블을 변경 한 트랜잭션이 변경된 행 및 잠긴 행의 수에 관계없이 다른 트랜잭션보다 가중치가 높은 것으로 간주됩니다.
TRX_STATE트랜잭션 실행 상태. RUNNING , LOCK WAIT , ROLLING BACK 또는 COMMITTING 중 하나입니다.
TRX_STARTED트랜잭션의 시작 시간.
TRX_REQUESTED_LOCK_ID트랜잭션이 현재 대기하고있는 잠금 ID ( TRX_STATE 가 LOCK WAIT 인 경우 그렇지는 NULL ). 잠금에 대한 자세한 내용은 LOCK_ID 에서 INNODB_LOCKS 과 결합해서 볼 수 있습니다.
TRX_WAIT_STARTED트랜잭션이 잠금을 대기 시작한 시간 ( TRX_STATE 가 LOCK WAIT 의 경우 그렇지는 NULL ).
TRX_MYSQL_THREAD_IDMySQL 스레드 ID입니다. ID 에서 PROCESSLIST 와 결합하는 경우에 사용할 수 있습니다. 섹션 14.14.2.3.1 "PROCESSLIST 데이터 불일치의 가능성" 을 참조하십시오.
TRX_QUERY트랜잭션이 실행되는 SQL 쿼리.
TRX_OPERATION_STATE트랜잭션의 작동 또는 NULL .
TRX_TABLES_IN_USE이 트랜잭션의 현재 SQL 문을 처리 할 때 사용되는 InnoDB 테이블의 숫자.
TRX_TABLES_LOCKED현재 SQL 문이 행 잠금을 가지고, InnoDB 테이블의 숫자. (이들은 테이블 잠금 대신 행 잠금이므로 일부 행이 잠겨 있는지 여부에 관계없이 일반적으로 여러 트랜잭션의 테이블에서 읽고 테이블에 쓸 수 있습니다.)
TRX_LOCK_STRUCTS트랜잭션에 예약 된 잠금의 수
TRX_LOCK_MEMORY_BYTES이 트랜잭션의 잠금 구조에 의해 메모리에서 사용 된 전체 크기입니다.
TRX_ROWS_LOCKED이 트랜잭션에 의해 잠긴 행의 개수. 이 값은 물리적으로 존재하지만 트랜잭션에서 인식 할 수없는 삭제 마크를 붙일 수 있었던 행이 포함될 수 있습니다.
TRX_ROWS_MODIFIED이 트랜잭션에서 변경 및 삽입 된 행의 수.
TRX_CONCURRENCY_TICKETSinnodb_concurrency_tickets 옵션에 의한 지정에 따라 스왑되기 전에 현재의 트랜잭션으로 실시 할 작업량을 나타내는 값.
TRX_ISOLATION_LEVEL현재 트랜잭션 격리 수준.
TRX_UNIQUE_CHECKS현재 트랜잭션에서 고유 체크가 켜져 있는지, 꺼져 있는지. (예를 들어 대량 데이터로드 중에 꺼져있는 경우가 있습니다.)
TRX_FOREIGN_KEY_CHECKS현재 트랜잭션에서 외래 키 체크가 켜져 있는지, 꺼져 있는지. (예를 들어 대량 데이터로드 중에 꺼져있는 경우가 있습니다.)
TRX_LAST_FOREIGN_KEY_ERROR마지막 FK 오류에 대한 자세한 오류 메시지 또는 NULL .
TRX_ADAPTIVE_HASH_LATCHED적응 해시 인덱스가 현재 트랜잭션에 의해 잠겨 있는지. (한 번에 하나의 트랜잭션 만 적응 해시 인덱스를 변경할 수 있습니다.)
TRX_ADAPTIVE_HASH_TIMEOUT적응 해시 인덱스의 검색 래치를 즉시 파기하거나 MySQL에서의 호출에 걸쳐 유지 하는가? AHI 경합이없는 경우이 값은 제로 상태에서 문이 종료 될 때까지 래치를 보유합니다. 충돌 동안 제로까지 감소 문은 행 조회 직후 래치를 해제합니다.
TRX_IS_READ_ONLY

1의 값은 트랜잭션이 읽기 전용임을 나타냅니다 (5.6.4 이후)

TRX_AUTOCOMMIT_NON_LOCKING

1의 값은 트랜잭션이 FOR UPDATE 절 또는 LOCK IN SHARED MODE 절을 사용하지 않는 SELECT 문이며,이 하나의 문만 트랜잭션에 포함되도록 autocommit 설정을 선택하고 실행하는 것 를 나타냅니다 (5.6.4 이후). 이 컬럼과 TRX_IS_READ_ONLY 가치도 1 인 경우, InnoDB 는 테이블 데이터를 변경하는 트랜잭션과 연관된 오버 헤드를 줄이기 위해 트랜잭션을 최적화합니다.


예 :

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX \G
*************************** 1. row ***************************
                    trx_id: 3298
                 trx_state: RUNNING
               trx_started: 2014-11-19 13:54:39
     trx_requested_lock_id: NULL
          trx_wait_started: NULL
                trx_weight: 316436
       trx_mysql_thread_id: 2
                 trx_query: DELETE FROM employees.salaries WHERE salary > 65000
       trx_operation_state: updating or deleting
         trx_tables_in_use: 1
         trx_tables_locked: 1
          trx_lock_structs: 1621
     trx_lock_memory_bytes: 243240
           trx_rows_locked: 759343
         trx_rows_modified: 314815
   trx_concurrency_tickets: 0
       trx_isolation_level: REPEATABLE READ
         trx_unique_checks: 1
    trx_foreign_key_checks: 1
trx_last_foreign_key_error: NULL
 trx_adaptive_hash_latched: 0
 trx_adaptive_hash_timeout: 10000
          trx_is_read_only: 0
trx_autocommit_non_locking: 0

참고 :

  • 이 테이블을 사용하면 부하가 큰 동시로드 시간 동안 발생하는 성능 문제의 진단에 도움이됩니다. 그 내용은 섹션 14.14.2.3 "InnoDB 트랜잭션과 잠금 테이블의 데이터 지속성과 일관성" 에 설명 된대로 업데이트됩니다.

  • DESCRIBE 또는 SHOW COLUMNS 를 사용하여 데이터 유형 및 기본값을 포함하여이 테이블의 컬럼에 대한 추가 정보를 표시합니다.

  • 이 테이블을 쿼리하려면 PROCESS 권한이 필요합니다.

  • 사용법은 섹션 14.14.2.1 "InnoDB 트랜잭션과 잠금 테이블을 사용하는 방법" 을 참조하십시오.