Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

कंसोल पर प्रिंट किए बिना MySQL क्वेरी का निष्पादन समय कैसे जांचें?


इसे जांचने के लिए हमें प्रोफाइलिंग जानकारी की आवश्यकता होती है जो वर्तमान सत्र के दौरान निष्पादित स्टेटमेंट्स के संसाधन उपयोग को इंगित करती है। प्रोफाइलिंग जानकारी SHOW PROFILE और SHOW PROFILES स्टेटमेंट द्वारा प्राप्त की जा सकती है।

इन स्टेटमेंट्स को चलाने से पहले, प्रोफाइलिंग सत्र वेरिएबल को 1 पर सेट करना होगा:

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

अब यदि हम SHOW PROFILES स्टेटमेंट चलाएंगे तो यह सर्वर को भेजे गए सबसे हाल के स्टेटमेंट्स की सूची अवधि और क्वेरी आईडी के साथ प्रदर्शित करेगा।

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 FOR 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)

  1. - MySQL में समय अंतर निकालें: NOW() और INTERVAL के साथ

    MySQL में NOW() और INTERVAL का उपयोग करके वर्तमान समय से निर्दिष्ट अवधि पहले/बाद के रिकॉर्ड ढूंढ सकते हैं। उदाहरण: पिछले 5 घंटे में आगमन समय 1. टेबल बनाएं CREATE TABLE DemoTable1570 (ArrivalTime DATETIME); 2. डेटा डालें INSERT INTO DemoTable1570 VALUES(2019-10-15 16:10:00); 3. वर्तमान समय मान

  1. - MySQL में विशिष्ट पंक्तियों या कॉलम द्वारा उपयोग की गई डिस्क स्पेस कैसे जांचें?

    MySQL में information_schema.tables का उपयोग करके तालिका स्तर पर डिस्क उपयोग की जानकारी प्राप्त की जा सकती है। हालांकि, पंक्ति या कॉलम स्तर पर सटीक आकार प्राप्त करना सीधे संभव नहीं है। तालिका स्तर की जानकारी SELECT * FROM information_schema.tables WHERE table_name = your_table_name; उदाहरण mysql&

  1. - MySQL में SELECT क्वेरी परिणाम को क्रमबद्ध करना (ORDER BY)

    टेबल से डेटा चुनते समय पंक्तियाँ टेबल में मौजूद क्रम में आती हैं। विशिष्ट क्रम में प्राप्त करने के लिए ORDER BY उपयोग करें। सिंटैक्स आरोही क्रम (डिफ़ॉल्ट): SELECT * FROM table_name ORDER BY column_name अवरोही क्रम: SELECT * FROM table_name ORDER BY column_name DESC Python में MySQL से क्रमबद्ध डेट