मैं केवल एक चेतावनी देना चाहता हूं:कृपया बहुत सावधानी से अपना संकुल सूचकांक चुनें! प्रत्येक "नियमित" डेटा तालिका में एक क्लस्टर इंडेक्स होना चाहिए, क्योंकि क्लस्टर इंडेक्स होने से वास्तव में बहुत सारे ऑपरेशन तेज हो जाते हैं - हां, तेज करें , यहां तक कि सम्मिलित करता है और हटाता है! लेकिन केवल तभी जब आप कोई अच्छा . चुनेंगे संकुल सूचकांक।
यह सबसे अधिक दोहराया गया है आपके SQL सर्वर डेटाबेस में डेटा संरचना। क्लस्टरिंग कुंजी आपकी टेबल पर प्रत्येक गैर-क्लस्टर इंडेक्स का भी हिस्सा होगी।
क्लस्टरिंग कुंजी चुनते समय आपको अत्यधिक सावधानी बरतनी चाहिए - यह होनी चाहिए:
-
संकीर्ण (4 बाइट्स आदर्श)
-
अद्वितीय (आखिरकार यह "पंक्ति सूचक" है। यदि आप इसे अद्वितीय नहीं बनाते हैं तो SQL सर्वर पृष्ठभूमि में आपके लिए यह करेगा, आपको प्रत्येक प्रविष्टि समय के लिए पंक्तियों की संख्या और आपके द्वारा गैर-संकुलित सूचकांकों की संख्या के लिए कुछ बाइट्स खर्च करना होगा। है - यह बहुत महंगा हो सकता है!)
-
स्थिर (कभी नहीं बदलें - यदि संभव हो तो)
-
आदर्श रूप से हमेशा बढ़ती इसलिए आप भयानक सूचकांक विखंडन के साथ समाप्त नहीं होंगे (एक GUID एक अच्छी क्लस्टरिंग कुंजी के कुल विपरीत है - उस विशेष कारण से)
-
यह गैर-शून्य होना चाहिए और आदर्श रूप से निश्चित चौड़ाई भी होनी चाहिए - एक
varchar(250)
बहुत खराब क्लस्टरिंग कुंजी बनाता है
इन बिंदुओं के पीछे कुछ और वास्तव में दूसरे और तीसरे स्तर का महत्व होना चाहिए....
किम्बर्ली ट्रिप के कुछ देखें (इंडेक्सिंग की रानी ) विषय पर ब्लॉग पोस्ट - उसने अपने ब्लॉग में जो कुछ भी लिखा है वह बिल्कुल अमूल्य है - इसे पढ़ें, इसे पचाएं - इसके द्वारा जिएं!
- प्राथमिक कुंजी और/या क्लस्टरिंग कुंजी के रूप में GUID
- संकुल सूचकांक बहस जारी है...
- निरंतर बढ़ती हुई क्लस्टरिंग कुंजी - क्लस्टर्ड इंडेक्स डिबेट ..... फिर से!
- डिस्क स्पेस सस्ता है - यानी नहीं बात!