MySQL 쿼리 프로파일

MySQL 쿼리 프로파일링 수행 방법 간단 정리

MySQL 쿼리 프로파일 설정
Overlay Image Overlay Image
MySQL 쿼리 프로파일 설정

쿼리 프로파일 수집 방법 간단 정리

  1. MySQL 쿼리 프로파일 활성화:
    SET profiling = 1;
  2. 원하는 쿼리 실행: 예를 들면:
    SELECT * FROM your_table WHERE some_column = 'some_value';
  3. 프로파일 결과 확인:
    SHOW PROFILES;
    이 명령은 실행한 쿼리의 목록을 보여줍니다. 각 쿼리는 고유한 쿼리 ID를 가지며, 이 ID를 사용하여 세부 프로파일 정보를 볼 수 있습니다.
  4. 특정 쿼리의 프로파일 세부 정보 확인: 예를 들어 쿼리 ID가 1인 경우:
    SHOW PROFILE FOR QUERY 1;
    이 명령은 쿼리의 실행 과정에서 발생하는 각 단계별로 소요된 시간을 보여줍니다.
  5. MySQL 쿼리 프로파일 비활성화: 프로파일링을 완료한 후에는 프로파일링을 비활성화해야 합니다:
    SET profiling = 0;

쿼리 프로파일 수집 및 조회 예시:

mysql> set profiling=1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> select * from a order by a desc limit 20;
+---------+----------------------+------+------+------+------+
| a       | b                    | c    | d    | e    | f    |
+---------+----------------------+------+------+------+------+
| 2424796 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424795 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424794 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424793 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424792 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424791 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424790 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424789 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424788 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424787 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424786 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424785 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424784 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424783 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424782 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424781 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424780 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424779 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424778 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
| 2424777 | aasdwqtniowqtniowqnt | NULL | NULL | NULL | NULL |
+---------+----------------------+------+------+------+------+
20 rows in set (0.02 sec)

mysql> show profiles;
+----------+------------+------------------------------------------+
| Query_ID | Duration   | Query                                    |
+----------+------------+------------------------------------------+
|        1 | 0.01157325 | select * from a order by a desc limit 20 |
+----------+------------+------------------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> show profile for query 1;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| starting             | 0.002565 |
| checking permissions | 0.000406 |
| Opening tables       | 0.000430 |
| init                 | 0.000609 |
| System lock          | 0.000282 |
| optimizing           | 0.000098 |
| statistics           | 0.000302 |
| preparing            | 0.002321 |
| Sorting result       | 0.000119 |
| executing            | 0.000033 |
| Sending data         | 0.003081 |
| end                  | 0.000120 |
| query end            | 0.000189 |
| closing tables       | 0.000128 |
| freeing items        | 0.000433 |
| cleaning up          | 0.000458 |
+----------------------+----------+
16 rows in set, 1 warning (0.03 sec)

관련글

MySQL 데이터파일 사이즈 계산

OS 접근이 불가능할 때 대략적인

OS에서 MySQL 데이터파일 사이즈 계산하기 ...

Leave a Comment