Mysql에서 가끔 커넥션이 부족하거나 내가 날린 쿼리가 너무 느려서 잘 실행되고 있는지 확인하고 싶을때가 있습니다.
MySQL에서 현재 실행 중인 쿼리를 확인하려면 다음 명령어를 사용할 수 있습니다.
MySQL 콘솔 또는 클라이언트에서 다음과 같이 입력하면 됩니다.
SHOW FULL PROCESSLIST;
각 컬럼의 의미와 예시를 아래에 설명합니다:
- Id: 각 실행 중인 쿼리의 고유 식별자입니다.
- 예시: 1, 2, 3, ...
- User: 쿼리를 실행하는 MySQL 사용자의 이름입니다.
- 예시: root, myuser, ...
- Host: MySQL에 연결한 호스트 또는 IP 주소입니다.
- 예시: localhost, 192.168.1.100, ...
- db: 현재 쿼리가 실행 중인 데이터베이스의 이름입니다.
- 예시: mydb, testdb, ...
- Command: 현재 실행 중인 쿼리의 MySQL 명령 유형입니다. 예를 들어, SELECT, UPDATE, INSERT 등이 될 수 있습니다.
- 예시: Query, Sleep, Connect, ...
- Time: 쿼리가 실행된 시간(초)입니다. 이 값은 쿼리의 실행 시간을 나타냅니다.
- 예시: 5, 10, 30, ...
- State: 쿼리의 현재 상태를 설명하는 문자열입니다. 쿼리가 어떤 작업을 수행하고 있는지를 나타냅니다.
- 예시: Sending data, Copying to tmp table, Locked, ...
- Info: 쿼리에 대한 자세한 정보 또는 SQL 문 자체를 포함할 수 있는 필드입니다.
- 예시: SELECT * FROM customers WHERE age > 30, ...
이러한 정보는 MySQL 서버에서 실행 중인 모든 쿼리를 모니터링하고 성능 문제를 진단하는 데 유용합니다. 예를 들어, 어떤 쿼리가 더 오래 걸리는지 확인하거나, 어떤 쿼리가 블로킹 상태에 있는지 확인하는 데 사용할 수 있습니다.
'에러해결 & 최적화 > DB' 카테고리의 다른 글
[SQL]GroupBy를 이용하여 중복값 카운팅하기 (0) | 2023.11.05 |
---|---|
[쿼리튜닝]where문에 cast를 쓰면 안되는 이유 (1) | 2023.11.03 |
인덱스 설계를 통한 쿼리속도 튜닝하기 (0) | 2023.10.31 |
쿼리튜닝의 핵심, 옵티마이저에 대해서 (0) | 2023.10.30 |
데이터베이스 쿼리 실행 계획 확인: 성능 최적화의 핵심 (2) | 2023.10.29 |