SELECT * बनाम स्पष्ट कॉलम सूची: प्रदर्शन तुलना
SELECT * सभी कॉलम लाता है, जबकि स्पष्ट कॉलम सूची केवल आवश्यक कॉलम लाती है। स्पष्ट सूची तेज होती है क्योंकि:
- नेटवर्क ट्रैफिक कम होता है
- डिस्क I/O कम होता है
- क्वेरी ऑप्टिमाइज़र बेहतर इंडेक्स उपयोग कर सकता है
- स्कीमा परिवर्तन से क्वेरी नहीं टूटती
उदाहरण टेबल
mysql> CREATE TABLE DemoTable(
Id INT,
Name VARCHAR(20),
Age INT,
ZipCode VARCHAR(20),
CountryName VARCHAR(20)
);
Query OK, 0 rows affected (0.82 sec)
mysql> INSERT INTO DemoTable VALUES(101,'Chris',23,'0909332','US'); Query OK, 1 row affected (0.48 sec) mysql> INSERT INTO DemoTable VALUES(102,'Bob',24,'8747443','AUS'); Query OK, 1 row affected (0.50 sec) mysql> INSERT INTO DemoTable VALUES(103,'Adam',21,'9988833','UK'); Query OK, 1 row affected (0.11 sec)
SELECT * का परिणाम
mysql> SELECT * FROM DemoTable;
+------+-------+------+---------+-------------+ | Id | Name | Age | ZipCode | CountryName | +------+-------+------+---------+-------------+ | 101 | Chris | 23 | 0909332 | US | | 102 | Bob | 24 | 8747443 | AUS | | 103 | Adam | 21 | 9988833 | UK | +------+-------+------+---------+-------------+ 3 rows in set (0.00 sec)
स्पष्ट कॉलम सूची (तेज़ दृष्टिकोण)
mysql> SELECT Id, Name, Age, ZipCode, CountryName FROM DemoTable;
समान आउटपुट लेकिन बेहतर प्रदर्शन।
सर्वोत्तम अभ्यास: हमेशा आवश्यक कॉलम ही सूचीबद्ध करें। SELECT * केवल त्वरित डिबगिंग या एडहॉक क्वेरी के लिए उपयोग करें।