2009-02-24 13 views
15

कृपया इसके बारे में मेरा संदेह स्पष्ट करें, SQL सर्वर (2000 और ऊपर) में प्राथमिक कुंजी स्वचालित रूप से क्लस्टर अनुक्रमित है या क्या हमारे पास प्राथमिक कुंजी पर गैर-क्लस्टर इंडेक्स होना पसंद है?क्या प्राथमिक कुंजी हमेशा क्लस्टर होती है?

उत्तर

25

नहीं, यह nonclustered किया जा सकता है। हालांकि, अगर आप स्पष्ट रूप से इसे गैर-क्लस्टर के रूप में परिभाषित नहीं करते हैं और तालिका पर कोई क्लस्टर सूचकांक नहीं है, तो इसे क्लस्टर के रूप में बनाया जाएगा।

10

कोई भी यह भी जोड़ सकता है कि प्राथमिक कुंजी को क्लस्टर होने की अनुमति देने के लिए अक्सर यह बीएडी हो। विशेष रूप से, जब प्राथमिक कुंजी को पहचान द्वारा असाइन किया जाता है, तो इसका कोई आंतरिक अर्थ नहीं होता है, इसलिए तदनुसार व्यवस्थित तालिका को रखने के लिए कोई प्रयास बर्बाद हो जाएगा।

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

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

+1

ज्यादातर मामलों में पहचान की उपस्थिति का अर्थ है कि उनकी पहचान से रिकॉर्ड्स तक पहुंच होगी, इसलिए पहचान क्षेत्र पर क्लस्टर प्राथमिक कुंजी एक अच्छा विचार प्रतीत होता है। –

+2

@ सी-एफ - यह क्लस्टर करने का कोई कारण नहीं है। यदि आप उस प्राथमिक कुंजी के आधार पर पूछताछ कर रहे हैं, तो इसकी अनुक्रमणिका आपको वहां ले जाएगी। और संभवतः तेज़, क्योंकि क्लस्टर इंडेक्स में पंक्तियों की पूरी चौड़ाई की तुलना में लगभग निश्चित रूप से कम आईओएस की अपेक्षाकृत संकीर्ण सूचकांक प्राप्त करने की आवश्यकता होगी। –

संबंधित मुद्दे