कैसंड्रा प्रलेखन राज्यों,
इन स्थितियों में एक सूचकांक का उपयोग न करें:
- उच्च-कार्डिनैलिटी कॉलम पर क्योंकि आप तब परिणामों की एक छोटी संख्या के लिए रिकॉर्ड की एक बड़ी मात्रा को क्वेरी करते हैं। नीचे एक उच्च-कार्डिनलिटी कॉलम इंडेक्स का उपयोग करके समस्याएं देखें।
यह जारी रहता है,
यदि आप एक उच्च-कार्डिनलिटी कॉलम पर एक इंडेक्स बनाते हैं, जिसमें कई अलग-अलग मूल्य हैं, तो खेतों के बीच एक क्वेरी बहुत कम परिणामों के लिए बहुत सारे लाइक को उकसाएगी। एक अरब गीतों वाली तालिका में, उनके कलाकार के बजाय लेखक द्वारा गाने (एक मूल्य जो आमतौर पर प्रत्येक गीत के लिए विशिष्ट होता है) को देखते हुए, बहुत अक्षम होने की संभावना है। यह संभवतः कैसेंड्रा निर्मित इंडेक्स का उपयोग करने के बजाय एक सूचकांक के रूप में तालिका को मैन्युअल रूप से बनाए रखने के लिए अधिक कुशल होगा। अद्वितीय डेटा वाले स्तंभों के लिए, सुविधा के लिए अनुक्रमणिका का उपयोग करना कभी-कभी ठीक प्रदर्शन-वार होता है, जब तक कि अनुक्रमित स्तंभ वाली तालिका का क्वेरी वॉल्यूम मध्यम और निरंतर लोड के अंतर्गत न हो।
लेकिन कभी भी इस सवाल का जवाब नहीं देता: यह अक्षम क्यों है? मुझे नहीं पता कि "मैन्युअल रूप से तालिका को सूचकांक के रूप में बनाए रखने का क्या मतलब है"। लेकिन तब यह कुछ हद तक खुद के साथ विरोधाभास करता है "... कभी-कभी यह सुविधा के लिए सूचकांक का उपयोग करने के लिए ठीक है, जब तक कि क्वेरी की मात्रा मध्यम है ..."
क्या यह सिर्फ मुझे यह बताने की कोशिश कर रहा है कि मैं कब और कहाँ पीके का उपयोग कर सकता हूं? अक्षमता क्या है? मेरी समझ यह है कि एक सूचकांक जो एक सूचकांक को हिट करेगा, उसे क्लस्टर में हर नोड को क्वेरी करने की आवश्यकता होगी, और फिर प्रत्येक नोड अपने स्थानीय सूचकांक में एक खोज करेगा और परिणाम तब एकत्र होंगे। यह आवश्यक रूप से महंगा नहीं है (प्रत्येक इंडेक्स लुकअप काफी सस्ता होना चाहिए) सिवाय इसके कि हम नेटवर्क विलंबता में भुगतान करें, क्योंकि हमें बहुत धीमे नोड के लिए इंतजार करना चाहिए। क्या मुझसे यहां कुछ छूट रहा है?
लेकिन अगर मेरे पास एक संग्रह है जिसमें एक बज़िलियन आइटम है - दुर्लभ अवसर पर - एक अलग लेकिन लगभग अद्वितीय विशेषता द्वारा देखा जाना चाहिए ... यह एक उचित उपयोग है, है ना?
¹Every? IDK अगर प्रतिकृति का अर्थ है कि यह क्लस्टर के 1/3 को 3 के प्रतिकृति कारक के लिए हिट कर सकता है या नहीं?