ऐसा प्रतीत होता है कि आपके पास क्वेरी चलाने के लिए एक इष्टतम योजना है। इसमें सुधार करना मुश्किल होगा। यहां कुछ अवलोकन दिए गए हैं।
क्वेरी PK_States अनुक्रमणिका पर एक संकुल अनुक्रमणिका स्कैन कर रही है। यह स्थानिक सूचकांक का उपयोग नहीं कर रहा है। ऐसा इसलिए है क्योंकि क्वेरी ऑप्टिमाइज़र को लगता है कि किसी अन्य इंडेक्स के बजाय क्लस्टर्ड इंडेक्स का उपयोग करना बेहतर होगा। क्यों? शायद इसलिए कि स्टेट्स टेबल में कुछ पंक्तियाँ हैं (50 प्लस शायद कुछ अन्य वाशिंगटन, डीसी, प्यूर्टो रिको, आदि के लिए)।
SQL सर्वर 8KB पृष्ठों पर डेटा संग्रहीत और पुनर्प्राप्त करता है। फ़िल्टर ऑपरेशन के लिए पंक्ति का आकार (अनुमानित पंक्ति आकार देखें) 8052 बाइट्स है, जिसका अर्थ है कि प्रति पृष्ठ एक पंक्ति और पूरी तालिका में लगभग 50 पृष्ठ हैं। क्वेरी प्लान का अनुमान है कि यह उन पंक्तियों में से लगभग 18 को संसाधित करेगा (पंक्तियों की अनुमानित संख्या देखें)। यह संसाधित करने के लिए पंक्तियों की एक महत्वपूर्ण संख्या नहीं है। मेरी व्याख्या उन अतिरिक्त पृष्ठों को संबोधित नहीं करती है जो तालिका का हिस्सा हैं, लेकिन मुद्दा यह है कि संख्या लगभग 50 है और 50,000 पृष्ठ नहीं हैं।
तो, वापस क्यों यह SPATIAL_States_Boundry अनुक्रमणिका के बजाय PK_States अनुक्रमणिका का उपयोग करता है। क्लस्टर्ड इंडेक्स, परिभाषा के अनुसार, तालिका के लिए वास्तविक डेटा होता है। एक गैर-संकुल अनुक्रमणिका उस पृष्ठ की ओर इशारा करती है जहां डेटा मौजूद है, इसलिए पुनर्प्राप्त करने के लिए और पृष्ठ हैं। इसलिए, गैर-संकुल सूचकांक तभी उपयोगी होता है जब बड़ी मात्रा में डेटा हो।
पेज प्रक्रियाओं की संख्या को कम करने के लिए आप कुछ चीजें कर सकते हैं (उदाहरण के लिए, एक कवरिंग इंडेक्स का उपयोग करें), लेकिन आपकी वर्तमान क्वेरी पहले से ही अच्छी तरह से अनुकूलित है और आपको बहुत अधिक प्रदर्शन सुधार नहीं दिखाई देगा।