Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं इस एसक्यूएल सर्वर स्थानिक क्वेरी को कैसे तेज कर सकता हूं?

ऐसा प्रतीत होता है कि आपके पास क्वेरी चलाने के लिए एक इष्टतम योजना है। इसमें सुधार करना मुश्किल होगा। यहां कुछ अवलोकन दिए गए हैं।

क्वेरी PK_States अनुक्रमणिका पर एक संकुल अनुक्रमणिका स्कैन कर रही है। यह स्थानिक सूचकांक का उपयोग नहीं कर रहा है। ऐसा इसलिए है क्योंकि क्वेरी ऑप्टिमाइज़र को लगता है कि किसी अन्य इंडेक्स के बजाय क्लस्टर्ड इंडेक्स का उपयोग करना बेहतर होगा। क्यों? शायद इसलिए कि स्टेट्स टेबल में कुछ पंक्तियाँ हैं (50 प्लस शायद कुछ अन्य वाशिंगटन, डीसी, प्यूर्टो रिको, आदि के लिए)।

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

तो, वापस क्यों यह SPATIAL_States_Boundry अनुक्रमणिका के बजाय PK_States अनुक्रमणिका का उपयोग करता है। क्लस्टर्ड इंडेक्स, परिभाषा के अनुसार, तालिका के लिए वास्तविक डेटा होता है। एक गैर-संकुल अनुक्रमणिका उस पृष्ठ की ओर इशारा करती है जहां डेटा मौजूद है, इसलिए पुनर्प्राप्त करने के लिए और पृष्ठ हैं। इसलिए, गैर-संकुल सूचकांक तभी उपयोगी होता है जब बड़ी मात्रा में डेटा हो।

पेज प्रक्रियाओं की संख्या को कम करने के लिए आप कुछ चीजें कर सकते हैं (उदाहरण के लिए, एक कवरिंग इंडेक्स का उपयोग करें), लेकिन आपकी वर्तमान क्वेरी पहले से ही अच्छी तरह से अनुकूलित है और आपको बहुत अधिक प्रदर्शन सुधार नहीं दिखाई देगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं संग्रहीत प्रक्रिया में तालिकाओं की सूची कैसे प्राप्त कर सकता हूं?

  2. मैं कैसे पता लगा सकता हूं कि कोडनिर्देशक में क्वेरी बनाना, अपडेट करना, हटाना सफल है

  3. SP_WhoIsActive या FogLight के माध्यम से SQL डेटाबेस की निगरानी करें | SQL सर्वर प्रदर्शन समस्या निवारण -1

  4. SQL प्रबंधन स्टूडियो और TFS

  5. INSERT कथन मानों की एक गतिशील सूची बनाएं