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

SQL सर्वर - क्लस्टर बनाम गैर-संकुल सूचकांक का उपयोग कब करें?

मैं केवल एक चेतावनी देना चाहता हूं:कृपया बहुत सावधानी से अपना संकुल सूचकांक चुनें! प्रत्येक "नियमित" डेटा तालिका में एक क्लस्टर इंडेक्स होना चाहिए, क्योंकि क्लस्टर इंडेक्स होने से वास्तव में बहुत सारे ऑपरेशन तेज हो जाते हैं - हां, तेज करें , यहां तक ​​कि सम्मिलित करता है और हटाता है! लेकिन केवल तभी जब आप कोई अच्छा . चुनेंगे संकुल सूचकांक।

यह सबसे अधिक दोहराया गया है आपके SQL सर्वर डेटाबेस में डेटा संरचना। क्लस्टरिंग कुंजी आपकी टेबल पर प्रत्येक गैर-क्लस्टर इंडेक्स का भी हिस्सा होगी।

क्लस्टरिंग कुंजी चुनते समय आपको अत्यधिक सावधानी बरतनी चाहिए - यह होनी चाहिए:

  • संकीर्ण (4 बाइट्स आदर्श)

  • अद्वितीय (आखिरकार यह "पंक्ति सूचक" है। यदि आप इसे अद्वितीय नहीं बनाते हैं तो SQL सर्वर पृष्ठभूमि में आपके लिए यह करेगा, आपको प्रत्येक प्रविष्टि समय के लिए पंक्तियों की संख्या और आपके द्वारा गैर-संकुलित सूचकांकों की संख्या के लिए कुछ बाइट्स खर्च करना होगा। है - यह बहुत महंगा हो सकता है!)

  • स्थिर (कभी नहीं बदलें - यदि संभव हो तो)

  • आदर्श रूप से हमेशा बढ़ती इसलिए आप भयानक सूचकांक विखंडन के साथ समाप्त नहीं होंगे (एक GUID एक अच्छी क्लस्टरिंग कुंजी के कुल विपरीत है - उस विशेष कारण से)

  • यह गैर-शून्य होना चाहिए और आदर्श रूप से निश्चित चौड़ाई भी होनी चाहिए - एक varchar(250) बहुत खराब क्लस्टरिंग कुंजी बनाता है

इन बिंदुओं के पीछे कुछ और वास्तव में दूसरे और तीसरे स्तर का महत्व होना चाहिए....

किम्बर्ली ट्रिप के कुछ देखें (इंडेक्सिंग की रानी ) विषय पर ब्लॉग पोस्ट - उसने अपने ब्लॉग में जो कुछ भी लिखा है वह बिल्कुल अमूल्य है - इसे पढ़ें, इसे पचाएं - इसके द्वारा जिएं!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में कॉलम पर मानों के सभी संभावित संयोजन लौटाएं

  2. SQL सर्वर टेक्स्ट डेटाटाइप अधिकतम लम्बाई =65,535?

  3. SQL सर्वर में टेक्स्ट क्वालीफायर के साथ बल्क इंसर्ट

  4. SQL सर्वर में JSON

  5. SQL सर्वर में एक इनलाइन टेबल-वैल्यूड फंक्शन (ITVF) बनाएं