के साथ समूहीकृत विशाल डेटा के माध्यम से खोजें, मैं सबसे तेज़ तरीके से, एकाधिक चाबियों के साथ समूहित विशाल डेटा के माध्यम से खोजना चाहता हूं। मेरे पास इस जानकारी के साथ एक फ़ाइल है लेकिन मैं इसे स्मृति में लोड करना चाहता हूं। मेमोरी कैपेसिटेंस कोई समस्या नहीं है।एकाधिक कुंजी सी #
key1 | key2 | key3 | key4 | value1 | value2
-----|------|------|------|--------|--------
1 | 1 | 1 | 1 | str | 20
1 | 1 | 1 | 2 | str | 20
1 | 1 | 1 | 3 | str | 20
1 | 1 | 2 | 1 | str | 20
2 | 1 | 1 | 1 | str | 20
मैं कुछ संग्रह पर ध्यान दिया है, लेकिन मैं अभी भी अनिश्चित हूँ: http://blog.bodurov.com/Performance-SortedList-SortedDictionary-Dictionary-Hashtable
हो सकता है कि एक multikey शब्दकोश बेहतर होगा क्योंकि यह कुंजी में अतिरेक का एक बहुत से बचें।
public class MultiKeyDictionary<T1, T2, T3> : Dictionary<T1, Dictionary<T2, T3>>
key1 | key2 | key3 | key4 | value1 | value2
-----|------|------|------|--------|--------
1 | 1 | 1 | 1 | str | 20
| | | 2 | str | 20
| | | 3 | str | 20
| | 2 | 1 | str | 20
2 | 1 | 1 | 1 | str | 20
मैं प्रत्येक कुंजी नहीं खोजूंगा लेकिन उनमें से 50%। मैं भी पागल सुझावों के लिए खुला हूं।
क्या आप प्रत्येक खोज के लिए स्वतंत्र रूप से अनुकूलित डेटा की कई प्रतियों को पूरा कर सकते हैं? Key1 के लिए अनुक्रमित, key2 के लिए अनुक्रमित, आदि ... –
क्या आप इस डेटा के विरुद्ध निष्पादित करने के लिए आवश्यक ठोस प्रश्नों के बारे में अधिक विशिष्ट हो सकते हैं? – usr
मैं डेटा को बाएं से दाएं कुंजी से विभाजित कर सकता हूं लेकिन कुंजी 2 तक पहुंचने के लिए मुझे पहले कुंजी 1 तक पहुंचने की आवश्यकता है। इसलिए प्रत्येक दायां कुंजी बाएं कुंजी से संग्रह में है। key4 key3 में है और key3 key2 में है ... – Naster