मैं हमारे सबसे अधिक इस्तेमाल किए जाने वाले विचारों में से कुछ पर प्रदर्शन को बढ़ाने के लिए अनुक्रमित दृश्यों का उपयोग कर रहा हूं।
हालांकि अनुक्रमित दृश्य गैर-अद्वितीय क्लस्टर इंडेक्स का समर्थन नहीं करते हैं जो डेटाबेस संरचना के बाकी हिस्सों द्वारा निर्धारित पूर्ववर्ती के खिलाफ थोड़ा सा जाता है।
उदाहरण के लिए, यहां हमारे टेबल के एक जोड़े का सरलीकृत संस्करण है।
-Groups-
Group ID GroupName
-Users-
UserKey UserName FullName GroupID
इंडेक्स Group.GroupID (गैर-क्लस्टर) और Users.GroupID (क्लस्टर) पर हैं। उपयोगकर्ता तालिका में GroupID पर क्लस्टर की जा रही कुंजी सबसे आम तौर पर एक विशिष्ट समूह के उपयोगकर्ताओं की एक सीमा को पुनर्प्राप्त की जाएगी। स्पष्ट रूप से आपके पास प्रति समूह में कई उपयोगकर्ता होंगे, इसलिए यह संकुल सूचकांक गैर-अद्वितीय है।
यह इस उदाहरण के रूप में मेरे विचारों को अनुक्रमित करते समय इस पूर्वता का पालन करने के तरीके के बारे में थोड़ा अनिश्चित छोड़ देता है, क्योंकि मेरे पास एक गैर-अद्वितीय क्लस्टर इंडेक्स नहीं हो सकता है।
ConsumableID ConsumableVariantID AllowThresholdOverwrite FullPath GroupID ManufacturerID Type ModelID
101 29 1 0.1.2.4. 4 3 3 2
वास्तव में इस दृश्य पर एकमात्र मूल्य जो हमेशा अद्वितीय होगा, उपभोज्य कॉलम है, इसलिए मुझे अपने सूचकांक को रखने के स्थान के रूप में बहुत कम विकल्प बचा है।
जब नियमित टेबल करते हैं तो दृश्य गैर-अद्वितीय क्लस्टर इंडेक्स की अनुमति क्यों नहीं देते हैं?
(GroupID, UserID)
। कुंजी के लिए अपने आप को एक कॉलम में सीमित न करें। 2 - मैं एक दृश्य के लिए सीमा की कल्पना करता हूं क्योंकि यह एक पूरक डेटा ऑब्जेक्ट है जिसे पंक्तियों को आसानी से नेकां इंडेक्स से बांधने की आवश्यकता होती है। किसी तालिका के लिए, गैर-विशिष्ट CI कुंजी को इसके साथ जोड़ा जाता है, लेकिन मुझे लगता है कि यह अनुक्रमित दृश्य के साथ अधिक चुनौतीपूर्ण होगा क्योंकि यह एक वास्तविक तालिका नहीं है, लेकिन वास्तविक तालिका को फिर से बनाने की आवश्यकता है।