>  기사  >  데이터 베이스  >  MySQL은 테이블이 잠겨 있는지 확인합니다.

MySQL은 테이블이 잠겨 있는지 확인합니다.

(*-*)浩
(*-*)浩원래의
2019-05-07 16:51:3732971검색

MySQL 테이블이 잠겨 있는지 확인하는 방법: 먼저 명령 창에 들어간 다음 "show Engine innodb statusG;" 명령을 실행하여 교착 상태를 일으키는 SQL 문을 확인하고 인덱스 상황을 분석합니다.

MySQL은 테이블이 잠겨 있는지 확인합니다.

mysql 명령줄에서 직접 실행 가능: show 엔진 innodb statusG;

교착 상태를 일으킨 SQL 문을 보고 인덱스 상황을 분석한 다음 SQL을 최적화하고 프로세스 목록을 표시합니다.

권장 강좌: MySQL 튜토리얼 .

mysql> show status like 'Table%';

+----------------------------+----------+
| Variable_name        | Value |
+----------------------------+----------+
| Table_locks_immediate | 105         |
| Table_locks_waited   | 3           |
+----------------------------+----------+

Table_locks_immediate는 테이블 수준 잠금을 즉시 얻을 수 있는 횟수를 나타냅니다.

Table_locks_waited는 테이블 수준 잠금을 즉시 얻을 수 없고 필요한 횟수를 나타냅니다. to wait

show OPEN TABLES where In_use > 0; 이 명령문은 현재 잠금 테이블 상태를 기록합니다.

my.ini 구성 파일의 [mysqld] 옵션에 추가하세요:

slow_query_log=TRUE

slow_query_log_file=c:/ Slow_query_log.txt

long_query_time=3

추가가 완료된 후 mysql 서비스를 다시 시작해야 적용되고 출력이 기록됩니다. 마지막으로 MySQL 클라이언트에 다음 명령을 입력하세요.

'%quer%'와 같은 변수 표시, 정상인지 확인

mysql 느린 쿼리 로그 활성화

구성 보기:

//查看慢查询时间
show variables like "long_query_time";默认10s
//查看慢查询配置情况
show status like "%slow_queries%";
//查看慢查询日志路径
 show variables like "%slow%";
-slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。
-slow_query_log_file慢日志文件路径
-long_query_time慢日志执行时长(秒),超过设定的时间才会记日志

본점으로 돌아가서 문제의 시작점 Mysql 쿼리 테이블 교착 상태 및 테이블 교착 상태 종료

1. 테이블이 잠겨 있는지 쿼리 show OPEN TABLES where In_use > 0;

show processlist 해당 프로세스 쿼리 = == 그리고 ID 삭제

추가됨:

잠긴 트랜잭션 보기

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

잠금 대기 중인 트랜잭션 보기

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

위 내용은 MySQL은 테이블이 잠겨 있는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.