Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để kiểm tra truy vấn MySQL, mà không cần in nó trên bảng điều khiển, đang mất bao nhiêu thời gian?

Để kiểm tra điều này, chúng ta cần có thông tin cấu hình cho biết việc sử dụng tài nguyên cho các câu lệnh được thực thi trong suốt phiên hiện tại. Thông tin hồ sơ có thể nhận được bằng cách HIỂN THỊ HỒ SƠ HIỂN THỊ HỒ SƠ tuyên bố.

Trước khi chạy các câu lệnh này, biến phiên cấu hình phải được đặt thành 1 như sau -

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

Bây giờ, nếu chúng ta sẽ chạy HIỂN THỊ HỒ SƠ sau đó nó sẽ hiển thị danh sách các câu lệnh gần đây nhất được gửi đến máy chủ cùng với thời lượng và id truy vấn.

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)

Bây giờ, giả sử chúng ta muốn kiểm tra thời lượng cho một truy vấn cụ thể thì chúng ta có thể chạy HIỂN THỊ HỒ SƠ cho truy vấn query_no tuyên bố. Ví dụ:nếu chúng ta chạy câu lệnh cho query_id =5 thì sau đó sẽ là đầu ra -

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)