यदि आपकी अनुक्रमणिका का उपयोग नहीं किया जा रहा है, तो यह आमतौर पर दो समस्याओं में से एक को इंगित करता है:
-
गैर-सरगने योग्य विधेय स्थितियां, जैसे
WHERE DATEPART(YY, Column) = <something>
. किसी फ़ंक्शन में कॉलम लपेटने से ऑप्टिमाइज़र की इंडेक्स का प्रभावी ढंग से उपयोग करने की क्षमता ख़राब हो जाएगी या समाप्त हो जाएगी। -
आउटपुट सूची में गैर-कवर किए गए कॉलम, जिसकी बहुत संभावना है यदि आप
SELECT *
लिखने की आदत में हैं इसके बजायSELECT specific_columns
. यदि अनुक्रमणिका आपकी क्वेरी को कवर नहीं करती है, तो SQL सर्वर को प्रत्येक पंक्ति के लिए एक-एक करके RID/कुंजी लुकअप करने की आवश्यकता होती है, जो क्वेरी को इतना धीमा कर सकता है कि ऑप्टिमाइज़र इसके बजाय केवल एक टेबल स्कैन करने का निर्णय लेता है।पी>
देखें कि क्या इनमें से कोई आपकी स्थिति पर लागू हो सकता है; यदि आप अभी भी भ्रमित हैं, तो मैं आपकी स्कीमा, डेटा और धीमी गति से प्रश्नों के बारे में अधिक जानकारी के साथ प्रश्न को अपडेट करने की अनुशंसा करता हूं। SQL डेटाबेस के लिए 500 MB बहुत छोटा है, इसलिए यह धीमा नहीं होना चाहिए। यह भी पोस्ट करें कि निष्पादन योजना में क्या है।