सामान्य में, सूचकांक का उपयोग किया जाएगा यदि सूचकांक का उपयोग कर, और फिर संभवतः आगे बुकमार्क प्रदर्शन करने के लिए होने के ग्रहण लागत लुकअप पूरी तालिका को स्कैन करने की लागत से कम है।
आपकी क्वेरी फार्म की है:
SELECT Name from Table where Name = 'Boris'
और 1 पंक्ति 1000 में से नाम बोरिस है, यह लगभग निश्चित रूप से उपयोग किया जाएगा। यदि हर किसी का नाम बोरिस है, तो शायद यह एक टेबल स्कैन का सहारा लेगा, क्योंकि सूचकांक डेटा तक पहुंचने के लिए एक और अधिक कुशल रणनीति होने की संभावना नहीं है।
यह एक विस्तृत तालिका (बहुत के स्तंभों में से) है और यदि आप करते हैं:
SELECT * from Table where Name = 'Boris'
तो यह अभी भी, टेबल स्कैन के लिए चुन सकते हैं अगर यह एक उचित धारणा है कि यह अधिक समय पुन: प्राप्त करने लेने के लिए जा रहा है तालिका से अन्य कॉलम की तुलना में केवल नाम को देखना होगा, या फिर, यदि यह वैसे भी बहुत सारी पंक्तियों को पुनर्प्राप्त करने की संभावना है।
स्रोत
2011-07-06 08:53:25
यह पोस्ट प्रश्न का उत्तर नहीं देता है। जवाब संक्षेप में है: आपको क्वेरी में अनुक्रमणिका निर्दिष्ट करने की आवश्यकता नहीं है। इसका उपयोग स्वचालित रूप से (या नहीं) किया जाता है। हालांकि, आप इसे मजबूर कर सकते हैं। नीचे दिए गए अन्य पदों में अधिक जानकारी (कब और क्यों करें)। – Rast