इंडेक्स कुंजी कॉलम इंडेक्स के बी-पेड़ का हिस्सा हैं। शामिल कॉलम नहीं हैं।
दो इंडेक्स लें:
CREATE INDEX index1 ON table1 (col1, col2, col3)
CREATE INDEX index2 ON table1 (col1) INCLUDE (col2, col3)
index1
इस प्रकार की क्वेरी के लिए बेहतर अनुकूल है:
SELECT * FROM table1 WHERE col1 = x AND col2 = y AND col3 = z
जबकि index2
इस प्रकार की क्वेरी के लिए बेहतर अनुकूल है:
SELECT col2, col3 FROM table1 WHERE col1 = x
पहली क्वेरी में, index1
ब्याज की पंक्तियों को शीघ्रता से पहचानने के लिए एक तंत्र प्रदान करता है। क्वेरी (शायद) एक अनुक्रमणिका खोज के रूप में निष्पादित होगी, उसके बाद पूरी पंक्ति (पंक्तियों) को पुनर्प्राप्त करने के लिए बुकमार्क लुकअप के बाद।
दूसरी क्वेरी में, index2
एक कवरिंग इंडेक्स के रूप में कार्य करता है। SQL सर्वर को बेस टेबल को बिल्कुल भी हिट करने की ज़रूरत नहीं है, क्योंकि इंडेक्स क्वेरी को संतुष्ट करने के लिए आवश्यक सभी डेटा प्रदान करता है। index1
इस मामले में एक कवरिंग इंडेक्स के रूप में भी कार्य कर सकता है।
यदि आप एक कवरिंग इंडेक्स चाहते हैं, लेकिन बी-पेड़ में सभी कॉलम नहीं जोड़ना चाहते हैं क्योंकि आप उन पर खोज नहीं करते हैं, या नहीं कर सकते क्योंकि वे एक अनुमत डेटाटाइप (उदाहरण के लिए, एक्सएमएल) नहीं हैं, का उपयोग करें खंड शामिल करें।