Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để ước tính thời gian truy vấn SQL?

Điều này có thể được thực hiện khi sử dụng HIỂN THỊ TÀI LIỆU Khi bạn mở một phiên MySQL, bạn có thể đặt biến "profiling" thành 1 hoặc BẬT.

mysql> SET profiling = 1;

Vì vậy, tất cả các câu lệnh được gửi đến máy chủ sẽ được lập hồ sơ và lưu trữ trong một lịch sử và hiển thị sau đó bằng cách gõ lệnh:

mysql> SHOW PROFILES;

Xem, từ hướng dẫn sử dụng MySQL:

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

mysql> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CREATE TABLE T1 (id INT);
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW PROFILES;
+----------+----------+--------------------------+
| Query_ID | Duration | Query                    |
+----------+----------+--------------------------+
|        0 | 0.000088 | SET PROFILING = 1        |
|        1 | 0.000136 | DROP TABLE IF EXISTS t1  |
|        2 | 0.011947 | CREATE TABLE t1 (id INT) |
+----------+----------+--------------------------+
3 rows in set (0.00 sec)

mysql> SHOW PROFILE;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| checking permissions | 0.000040 |
| creating table       | 0.000056 |
| After create         | 0.011363 |
| query end            | 0.000375 |
| freeing items        | 0.000089 |
| logging slow query   | 0.000019 |
| cleaning up          | 0.000005 |
+----------------------+----------+
7 rows in set (0.00 sec)

mysql> SHOW PROFILE FOR QUERY 1;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| query end          | 0.000107 |
| freeing items      | 0.000008 |
| logging slow query | 0.000015 |
| cleaning up        | 0.000006 |
+--------------------+----------+
4 rows in set (0.00 sec)

mysql> SHOW PROFILE CPU FOR QUERY 2;
+----------------------+----------+----------+------------+
| Status               | Duration | CPU_user | CPU_system |
+----------------------+----------+----------+------------+
| checking permissions | 0.000040 | 0.000038 |   0.000002 |
| creating table       | 0.000056 | 0.000028 |   0.000028 |
| After create         | 0.011363 | 0.000217 |   0.001571 |
| query end            | 0.000375 | 0.000013 |   0.000028 |
| freeing items        | 0.000089 | 0.000010 |   0.000014 |
| logging slow query   | 0.000019 | 0.000009 |   0.000010 |
| cleaning up          | 0.000005 | 0.000003 |   0.000002 |
+----------------------+----------+----------+------------+


Tài liệu tham khảo (cập nhật tại:2014-09-04):
- HIỂN THỊ Cú pháp TIỂU SỬ
- Bảng PROFILING INFORMATION_SCHEMA
- Cách sử dụng hồ sơ truy vấn MySQL ( Digital Ocean gần đây đã xuất bản một bài báo tuyệt vời liên quan đến vấn đề này. )




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL enum so với set

  2. Ranh giới từ trong MySQL REGEXP [[:<:]] [[:>:]] và dấu ngoặc kép

  3. PATINDEX () thay thế trong MYSQL

  4. MySQL hiển thị trạng thái - hoạt động hoặc tổng số kết nối?

  5. JDBC:Chèn giá trị Ngày vào MySQL