INT कॉलम पर इंडेक्स: प्रदर्शन विश्लेषण
INT डेटा टाइप के कॉलम पर इंडेक्स बनाना बड़े टेबल पर क्वेरी प्रदर्शन में नाटकीय सुधार कर सकता है, लेकिन छोटे टेबल पर यह ओवरहेड ही बढ़ाता है।
टेबल बनाना (इंडेक्स सहित)
CREATE TABLE indexOnIntColumnDemo (
UserId INT,
UserName VARCHAR(20),
UserAge INT,
INDEX (UserId)
);
इंडेक्स सत्यापन
DESC indexOnIntColumnDemo;
+----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | UserId | int(11) | YES | MUL | NULL | | | UserName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+
Key कॉलम में MUL (मल्टीपल/नॉन-यूनिक इंडेक्स) दर्शाता है कि इंडेक्स बना है।
डेटा डालना और क्वेरी
INSERT INTO indexOnIntColumnDemo VALUES (1001, 'John', 23), (1002, 'Sam', 25), (1003, 'Carol', 22), (1004, 'Mike', 26); SELECT * FROM indexOnIntColumnDemo WHERE UserId = 1004;
कब इंडेक्स फायदेमंद है
- टेबल में लाखों पंक्तियां हों।
- क्वेरी में
WHERE UserId = ...,JOIN ... ON UserId,ORDER BY UserIdजैसे फ़िल्टर हों। - चयनात्मकता (सेलेक्टिविटी) उच्च हो (कम डुप्लिकेट मान)।
कब इंडेक्स नुकसानदायक है
- टेबल छोटा हो (< 1000 पंक्तियां) — फुल टेबल स्कैन तेज़ होता है।
- कॉलम में बहुत डुप्लिकेट मान हों (कम चयनात्मकता)।
- बार-बार
INSERT/UPDATE/DELETEहोते हों — इंडेक्स रखरखाव ओवरहेड बढ़ाता है।
बेस्ट प्रैक्टिस
EXPLAIN SELECT ...से क्वेरी प्लान जांचें (type: refयाrangeअच्छा है,ALLबुरा)।- कम्पोजिट इंडेक्स पर विचार करें यदि एकाधिक कॉलम एक साथ फ़िल्टर होते हैं।
- अनुपयोगी इंडेक्स
DROP INDEXसे हटाएं।