2010-07-08 16 views
8

में समग्र क्लस्टर्ड इंडेक्स मेरे पास प्राथमिक कुंजी (क्लासिक आईडी कॉलम) के रूप में पहचान कॉलम वाला एक टेबल है।एसक्यूएल सर्वर

एसक्यूएल सर्वर स्वचालित रूप से उस प्राथमिक कुंजी के लिए क्लस्टर्ड इंडेक्स बनाते हैं।

मेरा प्रश्न है:

  • मैं और अधिक कॉलम के साथ एक केवल एक क्लस्टर सूचकांक समग्र मिल सकता है?

यदि हां, तो मैं डिफ़ॉल्ट क्लस्टर इंडेक्स कैसे छोड़ सकता हूं और इस विशेषता के साथ एक नया बना सकता हूं।

अपने समर्थन के लिए धन्यवाद

उत्तर

14

हाँ, आप केवल तालिका के अनुसार एक भी क्लस्टर सूचकांक कर सकते हैं - डेटा शारीरिक रूप से है कि सूचकांक के आधार पर व्यवस्थित है, तो आप एक से अधिक नहीं हो सकता।

हालांकि मैं एक समग्र क्लस्टर सूचकांक का उपयोग करने की सलाह नहीं दूंगा। क्यूं कर? क्योंकि क्लस्टर सूचकांक हमेशा होना चाहिए:

  • संभव के रूप में छोटे - 4 बाइट के साथ INT सही
  • स्थिर है - कभी नहीं बदल सकता है इसलिए आप अपने सभी सूचकांकों
  • अद्वितीय के माध्यम से अद्यतन rippling नहीं है - अन्यथा, एसक्यूएल सर्वर होगा करने के लिए "uniquify" कृत्रिम 4 बाइट के साथ अपनी प्रविष्टियों को महत्व देता
  • इष्टतम होगा: बढ़ती

INT पहचान संकुल अनुक्रमणिका के रूप में एकदम सही है - मैं तुम्हें रखने के यह था सलाह देंगे टी रास्ता

क्लस्टर्ड इंडेक्स कॉलम (या कॉलम का सेट) उसी तालिका पर प्रत्येक और प्रत्येक गैर-क्लस्टर इंडेक्स की प्रत्येक प्रविष्टि में भी जोड़ा जाता है - इसलिए यदि आप अपने क्लस्टर इंडेक्स को बड़े, 20, 50 बाइट्स या अधिक बनाते हैं, तो आप बहुत अधिक जगह बर्बाद करना शुरू करें - डिस्क पर और आपके सर्वर की मेमोरी में, जो आमतौर पर आपके सिस्टम के प्रदर्शन को कम कर देता है।

क्लस्टर सूचकांक के बारे में सभी को पढ़ें और वे क्या अच्छा संकुल सूचकांक यहाँ होना चाहिए:

+1

अपना समय के लिए धन्यवाद! – GibboK

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