मेरी आवश्यकताएं हैं:
- किसी भी डेटा प्रकार के उपयोगकर्ता-परिभाषित क्षेत्रों को गतिशील रूप से जोड़ने में सक्षम होने की आवश्यकता है
- UDFs को जल्दी से क्वेरी करने में सक्षम होने की आवश्यकता है
- डेटाटाइप के आधार पर यूडीएफ पर गणना करने में सक्षम होने की आवश्यकता है
- डेटाटाइप के आधार पर UDFs को सॉर्ट करने में सक्षम होने की आवश्यकता है
अन्य सूचना:
- मैं मुख्य रूप से प्रदर्शन की तलाश में हूं
- कुछ मिलियन मास्टर रिकॉर्ड हैं जो यूडीएफ डेटा संलग्न कर सकते हैं
- जब मैंने आखिरी बार जाँच की थी, तो हमारे वर्तमान डेटाबेस में 50 मिलियन से अधिक यूडीएफ रिकॉर्ड थे
- ज्यादातर समय, एक यूडीएफ केवल मास्टर रिकॉर्ड के कुछ हजार से जुड़ा होता है, उन सभी में नहीं
- यूडीएफ को कुंजी के रूप में शामिल या उपयोग नहीं किया जाता है। वे प्रश्न या रिपोर्ट के लिए उपयोग किए जाने वाले डेटा मात्र हैं
विकल्प:
StringValue1, StringValue2 ... IntValue1, IntValue2, ... आदि के साथ एक बड़ी तालिका बनाएं, मैं इस विचार से नफरत करता हूं, लेकिन इस पर विचार करेगा कि क्या कोई मुझे बता सकता है कि यह अन्य विचारों से बेहतर है और क्यों।
एक डायनामिक टेबल बनाएं जो आवश्यकतानुसार एक नया कॉलम जोड़ता है। मुझे भी यह विचार पसंद नहीं है क्योंकि मुझे लगता है कि प्रदर्शन धीमा होगा जब तक कि आप हर कॉलम को अनुक्रमित नहीं करते।
UDFName, UDFDataType, और मान युक्त एक एकल तालिका बनाएँ। जब एक नया UDF जुड़ जाता है, तो एक दृश्य उत्पन्न करें जो सिर्फ उस डेटा को खींचता है और जो कुछ भी निर्दिष्ट किया गया है, उसमें इसे पार्स करता है। आइटम जो पार्सिंग मानदंडों को पूरा नहीं करते हैं वे NULL को वापस करते हैं।
प्रति डेटा प्रकार एक से अधिक UDF टेबल बनाएं। तो हमारे पास UDFStrings, UDFDates, आदि के लिए तालियाँ होंगी। संभवतः # 2 के रूप में भी ऐसा ही होगा और एक नया क्षेत्र जुड़ने पर कभी भी एक दृश्य को ऑटो-जनरेट करें।
XML DataTypes? मैंने पहले इन के साथ काम नहीं किया है, लेकिन इनका उल्लेख किया है। निश्चित नहीं कि अगर वे मुझे वे परिणाम दें, जो मुझे चाहिए, खासकर प्रदर्शन के साथ।
कुछ और?