21.29.5 INFORMATION_SCHEMA INNODB_LOCKS 테이블
INNODB_LOCKS
테이블은 InnoDB
트랜잭션 요구했지만 아직 검색되지 않은 각 잠금에 대한 정보와 다른 트랜잭션을 차단하는 트랜잭션이 보유한 각 잠금에 대한 정보가 포함되어 있습니다.
표 21.5 INNODB_LOCKS 컬럼
컬럼 이름 | 설명 |
---|---|
LOCK_ID | InnoDB 내부의 고유 잠금 ID 번호. 이것은 막연한 문자열로 취급하십시오. LOCK_ID 에는 현재 TRX_ID 이 포함되지만 LOCK_ID 의 데이터 형식은 향후 릴리스에서도 동일하다고 보증하지 않습니다. LOCK_ID 값을 분석하는 프로그램을 작성하지 마십시오. |
LOCK_TRX_ID | 이 잠금을 보유하는 트랜잭션의 ID입니다. 트랜잭션에 대한 자세한 내용은 TRX_ID 에서 INNODB_TRX 과 결합하여 볼 수 있습니다. |
LOCK_MODE | 잠금 모드. S , X , IS , IX , S_GAP , X_GAP , IS_GAP , IX_GAP 또는 AUTO_INC 중 하나가 각각 공유, 독점, 인텐션 공유 인텐션 배타적 행 잠금 공유 및 독점 격차 록, 인텐션 공유 및 인텐션 배타적 갭 잠금 및 자동 증가 테이블 수준 잠금을 나타냅니다. InnoDB 잠금에 대한 자세한 내용은 섹션 14.2.3 "InnoDB 잠금 모드" 및 섹션 14.2.2 "InnoDB 트랜잭션 모델 및 잠금" 섹션을 참조하십시오. |
LOCK_TYPE | 잠금 유형. RECORD 또는 TABLE 중 하나에 해당 레코드 (행) 레벨 테이블 수준의 잠금을 나타냅니다. |
LOCK_TABLE | 잠겨있는 테이블 또는 잠긴 레코드를 포함하는 테이블의 이름입니다. |
LOCK_INDEX | LOCK_TYPE='RECORD' 의 경우는 인덱스의 이름, 그 이외의 경우는 NULL . |
LOCK_SPACE | LOCK_TYPE='RECORD' 의 경우는 잠긴 레코드 테이블 스페이스 ID, 그 이외의 경우는 NULL . |
LOCK_PAGE | LOCK_TYPE='RECORD' 의 경우는 잠긴 레코드 페이지 번호, 그 이외의 경우는 NULL . |
LOCK_REC | LOCK_TYPE='RECORD' 의 경우 페이지에 잠긴 레코드 힙 번호, 그렇지 않으면 NULL . |
LOCK_DATA | LOCK_TYPE='RECORD' 의 경우는 잠긴 레코드의 기본 키 값, 그렇지 않으면 NULL . 이 컬럼은 잠긴 행의 기본 키 컬럼의 값이 유효한 SQL 문자열로 포맷되어 있습니다 (SQL 명령에 복사 할 수 있도록되어 있습니다). 기본 키가없는 경우, InnoDB 내부의 고유 한 행 ID 번호가 사용됩니다. 인덱스의 최대 값을 초과 키 값 또는 범위에 갭 잠금이 행해진 경우 LOCK_DATA 는 "supremum pseudo-record"고보고합니다. 잠긴 레코드를 포함하는 페이지가 버퍼 풀에 존재하지 않는 경우 (잠금이 유지되고있는 동안 디스크에 페이지 아웃 된 경우), InnoDB 는 불필요한 디스크 작업을 방지하기 위해 디스크에서 페이지 페치하지 않습니다. 대신 LOCK_DATA 가 NULL 로 설정됩니다. |
예 :
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS \G *************************** 1. row *************************** lock_id: 3723:72:3:2 lock_trx_id: 3723 lock_mode: X lock_type: RECORD lock_table: `mysql`.`t` lock_index: PRIMARY lock_space: 72 lock_page: 3 lock_rec: 2 lock_data: 1, 9 *************************** 2. row *************************** lock_id: 3722:72:3:2 lock_trx_id: 3722 lock_mode: S lock_type: RECORD lock_table: `mysql`.`t` lock_index: PRIMARY lock_space: 72 lock_page: 3 lock_rec: 2 lock_data: 1, 9
참고 :
이 테이블을 사용하면 부하가 큰 동시로드 시간 동안 발생하는 성능 문제의 진단에 도움이됩니다. 그 내용은 섹션 14.14.2.3 "InnoDB 트랜잭션과 잠금 테이블의 데이터 지속성과 일관성" 에 설명 된대로 업데이트됩니다.
DESCRIBE
또는SHOW COLUMNS
를 사용하여 데이터 유형 및 기본값을 포함하여이 테이블의 컬럼에 대한 추가 정보를 표시합니다.이 테이블을 쿼리하려면
PROCESS
권한이 필요합니다.사용법은 섹션 14.14.2.1 "InnoDB 트랜잭션과 잠금 테이블을 사용하는 방법" 을 참조하십시오.