Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

콘솔에 인쇄하지 않고 MySQL 쿼리에 걸리는 시간을 어떻게 확인할 수 있습니까?

<시간/>

이를 확인하려면 현재 세션이 진행되는 동안 실행된 명령문에 대한 리소스 사용량을 나타내는 프로파일링 정보가 필요합니다. 프로파일링 정보는 SHOW PROFILE로 얻을 수 있습니다. 및 프로필 표시 성명서.

이 명령문을 실행하기 전에 프로파일링 세션 변수를 다음과 같이 1로 설정해야 합니다. -

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

이제 SHOW PROFILES를 실행하면 명령문을 실행하면 기간 및 쿼리 ID와 함께 서버로 전송된 가장 최근 명령문 목록이 표시됩니다.

mysql> show profiles;
+----------+------------+--------------------------------------+
| Query_ID | Duration   | Query                                |
+----------+------------+--------------------------------------+
| 1        | 0.01602200 | drop table if exists t1              |
| 2        | 0.57223450 | create table t1(id int)              |
| 3        | 0.00015425 | show profile for query1              |
| 4        | 0.22945050 | create table e1(id int)              |
| 5        | 0.09977025 | insert into e1(id) values(3),(4),(5) |
+----------+------------+--------------------------------------+
5 rows in set (0.00 sec)

이제 특정 쿼리의 기간을 확인하려는 경우 SHOW PROFILE을 실행할 수 있습니다. query query_no의 경우 성명. 예를 들어 query_id =5에 대한 명령문을 실행하면 다음과 같은 결과가 출력됩니다. -

mysql> show profile for query 5;
+------------------------------+--------------+
| Status                       | Duration     |
+------------------------------+--------------+
| starting                     | 0.000138     |
| checking permissions         | 0.000024     |
| Opening tables               | 0.000057     |
| System lock                  | 0.035186     |
| init                         | 0.000035     |
| update                       | 0.021484     |
| Waiting for query cache lock | 0.000021     |
| update                       | 0.000005     |
| end                          | 0.000024     |
| query end                    | 0.042700     |
| closing tables               | 0.000017     |
| freeing items                | 0.000076     |
| logging slow query           | 0.000003     |
| cleaning up                  | 0.000002     |
+------------------------------+--------------+
14 rows in set (0.00 sec)