Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SQL क्वेरी समय का अनुमान कैसे लगाएं?

यह SHOW-PROFILES का उपयोग करते समय किया जा सकता है सिंटैक्स। जब आप एक MySQL सत्र खोलते हैं, तो आप चर "प्रोफाइलिंग" को 1 या चालू पर सेट कर सकते हैं।

mysql> SET profiling = 1;

तो सर्वर को भेजे गए सभी बयानों को एक ऐतिहासिक में प्रोफाइल और संग्रहीत किया जाएगा और बाद में कमांड टाइप करके दिखाया जाएगा:

mysql> SHOW PROFILES;

देखें, 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 |
+----------------------+----------+----------+------------+


संदर्भ (अपडेट किया गया:2014-09-04):
- शो प्रोफाइल सिंटेक्स
- INFORMATION_SCHEMA प्रोफाइलिंग टेबल
- MySQL क्वेरी प्रोफाइलिंग का उपयोग कैसे करें (डिजिटल महासागर ने हाल ही में इस मुद्दे से संबंधित एक महान लेख प्रकाशित किया है। )




  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 में एक कॉलम के लिए GUID का डिफ़ॉल्ट मान

  2. लूप का उपयोग करके प्रत्येक DISTINCT फ़ील्ड मान को केवल एक बार प्रदर्शित करें

  3. लारवेल डेटाबेस स्कीमा, अशक्त विदेशी

  4. mysql डेटाबेस से डेटा कैसे प्राप्त करें

  5. क्या MySQL के DESCRIBE [टेबल] के बराबर कोई SQLite है?