हैलो एसक्यूएल सर्वर इंजन विशेषज्ञ; कृपया हमारे साथ अपनी अंतर्दृष्टि साझा करें ...एसक्यूएल सर्वर प्रदर्शन: गैर-क्लस्टर्ड इंडेक्स + कॉलम बनाम क्लस्टर्ड इंडेक्स - समकक्ष?
जैसा कि मैं इसे समझता हूं, गैर-क्लस्टर्ड इंडेक्स पर कॉलम शामिल करें अतिरिक्त, गैर-कुंजी डेटा इंडेक्स पृष्ठों के साथ संग्रहीत करने की अनुमति देता है।
डिस्क पर डेटा तक पहुंचने के लिए इंजन को पुनर्प्राप्ति में 1 कम कदम के कारण बस एक क्लस्टर्ड इंडेक्स को गैर-क्लस्टर इंडेक्स पर प्रदर्शन लाभों के बारे में अच्छी तरह से पता है।
हालांकि, चूंकि कॉलम गैर-क्लस्टर्ड इंडेक्स में रहते हैं, तो निम्नलिखित क्वेरी को अनिवार्य रूप से परिदृश्य 1 और 2 में समान प्रदर्शन होने की उम्मीद की जा सकती है क्योंकि सभी कॉलम इंडेक्स पृष्ठों से पहले कभी भी परिदृश्य 2 में पुनर्प्राप्त किए जा सकते हैं तालिका डेटा पृष्ठों का सहारा ले रहे हैं?
क्वेरी के
SELECT A, B, C FROM TBL ORDER BY A
SCENARIO 1
CREATE CLUSTERED INDEX IX1 ON TBL (A, B, C);
SCENARIO 2
CREATED NONCLUSTERED INDEX IX1 ON TBL (A) INCLUDE (B, C);
जब आप इंडेक्स सेटअप के बीच स्विच करते हैं तो वास्तविक क्वेरी योजना क्या कहती है? –
यह उस तालिका को मारने वाले समग्र क्वेरी वर्कलोड पर निर्भर करेगा। –
दिलचस्प बात यह है कि गैर-क्लस्टर इंडेक्स को क्वेरी प्लान में प्राथमिकता दी जाती है, लेकिन क्वेरी संकेतों का उपयोग करने की संभावना, डेटा की मात्रा के आधार पर इष्टतम क्वेरी प्लान का निर्णय लेने में इंजन की जटिलता और कौन जानता है कि अन्य कारक यह मेरे लिए एक लम्बे रहस्य को छोड़ देते हैं। मैं वास्तव में किसी से बात करने के लिए देख रहा हूं और कहता हूं कि कॉलम शामिल नहीं हैं, वे कुछ कारण या अन्य कारणों से क्रैक किए गए हैं ... – Tahbaza