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

एक गैर-संकुल सूचकांक एक ऐसे कॉलम को कैसे आउटपुट कर सकता है जो सूचकांक में शामिल नहीं है

यदि तालिका स्वयं क्लस्टर है , तो सभी माध्यमिक अनुक्रमणिका में क्लस्टरिंग कुंजी की एक प्रति होती है (एक कुंजी जो क्लस्टर तालिका में पंक्तियों के भौतिक क्रम को निर्धारित करती है)।

कारण:एक संकुल तालिका में पंक्तियों को भौतिक रूप से एक बी-पेड़ (टेबल हीप नहीं) के भीतर संग्रहीत किया जाता है, और इसलिए स्थानांतरित कर सकते हैं जब बी-ट्री नोड्स विभाजित या एकत्रित हो जाते हैं, तो सेकेंडरी इंडेक्स में केवल "पॉइंटर" पंक्ति नहीं हो सकती है (क्योंकि यह पंक्ति के चलने के बाद "लटकने" के खतरे में होगा)।

अक्सर, इसका प्रदर्शन पर हानिकारक प्रभाव पड़ता है - द्वितीयक अनुक्रमणिका के माध्यम से क्वेरी करने के लिए डबल-लुकअप . की आवश्यकता हो सकती है :

  • सबसे पहले, द्वितीयक अनुक्रमणिका खोजें और क्लस्टरिंग कुंजी प्राप्त करें।
  • दूसरा, ऊपर प्राप्त क्लस्टरिंग कुंजी के आधार पर, क्लस्टर तालिका को स्वयं खोजें (जो कि बी-ट्री है)।

हालाँकि, यदि आप केवल क्लस्टरिंग कुंजी के क्षेत्र चाहते हैं, तो केवल पहली खोज की आवश्यकता है।

एमएस एसक्यूएल सर्वर के तहत उर्फ ​​"क्लस्टर इंडेक्स"।

आमतौर पर, लेकिन जरूरी नहीं कि MS SQL सर्वर के तहत प्राथमिक कुंजी हो।

यह दुर्भाग्यपूर्ण है कि MS SQL सर्वर के तहत डिफ़ॉल्ट रूप से क्लस्टरिंग चालू है - लोग अक्सर इसके प्रभावों पर पूरी तरह से विचार किए बिना डिफ़ॉल्ट को छोड़ देते हैं। जब क्लस्टरिंग उचित नहीं है, तो आपको इसे बंद करने के लिए स्पष्ट रूप से गैर-सम्मिलित कीवर्ड निर्दिष्ट करना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. शीर्ष 10 प्रतिशत का चयन करें, SQL सर्वर में भी निचला प्रतिशत

  2. टी-एसक्यूएल में एसक्यूएल सर्वर नियमित अभिव्यक्ति

  3. SQL सर्वर - अद्यतन करते समय आंतरिक शामिल हों

  4. टी-एसक्यूएल में डेटाबेस नाम के लिए एक चर का उपयोग कैसे करें?

  5. दूरस्थ रूप से संग्रहीत डेटाबेस संलग्न करें