에러해결 & 최적화/DB

Mysql 현재 실행중인 쿼리 확인하기

Chung-A 2023. 11. 3. 23:59

Mysql에서 가끔 커넥션이 부족하거나 내가 날린 쿼리가 너무 느려서 잘 실행되고 있는지 확인하고 싶을때가 있습니다.

 

MySQL에서 현재 실행 중인 쿼리를 확인하려면 다음 명령어를 사용할 수 있습니다.

MySQL 콘솔 또는 클라이언트에서 다음과 같이 입력하면 됩니다.

 

SHOW FULL PROCESSLIST;

각 컬럼의 의미와 예시를 아래에 설명합니다:

  1. Id: 각 실행 중인 쿼리의 고유 식별자입니다.
    • 예시: 1, 2, 3, ...
  2. User: 쿼리를 실행하는 MySQL 사용자의 이름입니다.
    • 예시: root, myuser, ...
  3. Host: MySQL에 연결한 호스트 또는 IP 주소입니다.
    • 예시: localhost, 192.168.1.100, ...
  4. db: 현재 쿼리가 실행 중인 데이터베이스의 이름입니다.
    • 예시: mydb, testdb, ...
  5. Command: 현재 실행 중인 쿼리의 MySQL 명령 유형입니다. 예를 들어, SELECT, UPDATE, INSERT 등이 될 수 있습니다.
    • 예시: Query, Sleep, Connect, ...
  6. Time: 쿼리가 실행된 시간(초)입니다. 이 값은 쿼리의 실행 시간을 나타냅니다.
    • 예시: 5, 10, 30, ...
  7. State: 쿼리의 현재 상태를 설명하는 문자열입니다. 쿼리가 어떤 작업을 수행하고 있는지를 나타냅니다.
    • 예시: Sending data, Copying to tmp table, Locked, ...
  8. Info: 쿼리에 대한 자세한 정보 또는 SQL 문 자체를 포함할 수 있는 필드입니다.
    • 예시: SELECT * FROM customers WHERE age > 30, ...

 

 

이러한 정보는 MySQL 서버에서 실행 중인 모든 쿼리를 모니터링하고 성능 문제를 진단하는 데 유용합니다. 예를 들어, 어떤 쿼리가 더 오래 걸리는지 확인하거나, 어떤 쿼리가 블로킹 상태에 있는지 확인하는 데 사용할 수 있습니다.