MySQL में Sybase ASE के समकक्ष: EXPLAIN कीवर्ड
Sybase ASE में क्वेरी निष्पादन योजना देखने के लिए उपयोग किए जाने वाले कमांड का MySQL में समकक्ष EXPLAIN कीवर्ड है। यह आपको दिखाता है कि MySQL आपके क्वेरी को कैसे निष्पादित करेगा, जिसमें इंडेक्स उपयोग, जॉइन प्रकार, और अनुमानित पंक्तियाँ शामिल हैं।
प्रदर्शन के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable1531 (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName VARCHAR(20)
-> );
Query OK, 0 rows affected (2.92 sec)
mysql> CREATE INDEX Name_index1 ON DemoTable1531(StudentName);
Query OK, 0 rows affected (0.99 sec)
Records: 0 Duplicates: 0 Warnings: 0
डेटा डालना
mysql> INSERT INTO DemoTable1531(StudentName) VALUES ('Chris');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable1531(StudentName) VALUES ('Robert');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable1531(StudentName) VALUES ('David');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable1531(StudentName) VALUES ('Mike');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable1531(StudentName) VALUES ('Carol');
Query OK, 1 row affected (0.09 sec)
सभी रिकॉर्ड्स देखना
mysql> SELECT * FROM DemoTable1531;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 5 | Carol |
| 1 | Chris |
| 3 | David |
| 4 | Mike |
| 2 | Robert |
+-----------+-------------+
5 rows in set (0.00 sec)
EXPLAIN का उपयोग करके क्वेरी विश्लेषण
mysql> EXPLAIN SELECT * FROM DemoTable1531 WHERE StudentName='Mike';
परिणाम व्याख्या
+----+-------------+---------------+------------+------+---------------+-------------+---------+-------+------+----------+-------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+---------------+------------+------+---------------+-------------+---------+-------+------+----------+-------------+
| 1 | SIMPLE | DemoTable1531 | NULL | ref | Name_index1 | Name_index1 | 63 | const | 1 | 100.00 | Using index |
+----+-------------+---------------+------------+------+---------------+-------------+---------+-------+------+----------+-------------+
1 row in set, 1 warning (0.00 sec)
मुख्य कॉलम समझाए गए
- type: 'ref' दर्शाता है कि इंडेक्स का उपयोग करके लुकअप किया जा रहा है
- possible_keys: क्वेरी के लिए उपयोगी हो सकने वाले इंडेक्स
- key: वास्तव में उपयोग किया गया इंडेक्स
- key_len: उपयोग की गई कुंजी की लंबाई
- rows: जांची जाने वाली अनुमानित पंक्तियों की संख्या
- Extra: 'Using index' का अर्थ है कवरिंग इंडेक्स का उपयोग (टेबल एक्सेस की आवश्यकता नहीं)
व्यावहारिक महत्व
EXPLAIN क्वेरी ऑप्टिमाइज़ेशन के लिए आवश्यक है। यह आपको बताता है कि क्या आपका क्वेरी इंडेक्स का प्रभावी ढंग से उपयोग कर रहा है या पूर्ण टेबल स्कैन कर रहा है। 'Using index' आउटपुट दर्शाता है कि क्वेरी पूरी तरह से इंडेक्स से संतुष्ट है, जो इष्टतम प्रदर्शन है।