अब तक, मैं उन अल्पविराम से अलग की गई सूचियों को अपने SQL db में रखना चाहता था - सभी चेतावनियों से अच्छी तरह वाकिफ!
मैं सोचता रहा कि लुकअप टेबल (जो एक सामान्यीकृत डेटा बेस के लिए एक रास्ता प्रदान करते हैं) पर उनके पास लाभ है। कुछ दिनों के मना करने के बाद, मैंने प्रकाश देखा है :
- एक फ़ील्ड में अल्पविराम से अलग किए गए मानों का उपयोग करते समय लुकअप तालिकाओं का उपयोग करने से उन बदसूरत स्ट्रिंग संचालनों की तुलना में अधिक कोड उत्पन्न नहीं होता है।
- लुकअप तालिका मूल संख्या स्वरूपों की अनुमति देती है और इस प्रकार उन csv क्षेत्रों से बड़ी नहीं है। हालांकि यह छोटा है।
- इसमें शामिल स्ट्रिंग ऑपरेशन उच्च स्तरीय भाषा कोड (एसक्यूएल और पीएचपी) में पतले हैं, लेकिन पूर्णांकों की सरणियों के उपयोग की तुलना में महंगे हैं।
- डेटाबेस मानव पठनीय होने के लिए नहीं हैं, और उनकी पठनीयता / प्रत्यक्ष संपादन क्षमता के कारण संरचनाओं से चिपके रहने की कोशिश करना ज्यादातर बेवकूफी है, जैसा कि मैंने किया था।
संक्षेप में, एक कारण है कि MySQL में कोई मूल SPLIT() फ़ंक्शन नहीं है।