डेटाबेस फ़ील्ड में फ़ोन नंबर संग्रहीत करने के लिए एक अच्छी डेटा संरचना क्या है? मैं कुछ ऐसी चीज़ों की तलाश कर रहा हूँ जो अंतरराष्ट्रीय नंबरों को संभालने के लिए पर्याप्त लचीली हो, और कुछ ऐसी चीज़ भी हो जो संख्या के विभिन्न हिस्सों को कुशलता से क्वेर करने की अनुमति देती हो।
संपादित करें: बस यहां उपयोग के मामले को स्पष्ट करने के लिए: मैं वर्तमान में एक ही चर क्षेत्र में संख्याओं को संग्रहीत करता हूं, और मैं उन्हें छोड़ देता हूं जैसे ही ग्राहक ने उन्हें दर्ज किया। फिर, जब कोड द्वारा नंबर की आवश्यकता होती है, तो मैं इसे सामान्य करता हूं। समस्या यह है कि यदि मैं मिलान संख्याओं को खोजने के लिए कुछ मिलियन पंक्तियों को क्वेरी करना चाहता हूं, तो इसमें एक फ़ंक्शन शामिल है, जैसे
where dbo.f_normalizenum(num1) = dbo.f_normalizenum(num2)
जो बहुत ही अक्षम है। साथ ही ऐसे प्रश्न जो क्षेत्र कोड जैसी चीजों की तलाश कर रहे हैं, जब यह केवल एक ही varchar फ़ील्ड हो तो बहुत मुश्किल हो जाता है।
[संपादित करें]
लोगों ने यहाँ बहुत सारे अच्छे सुझाव दिए हैं, धन्यवाद! एक अद्यतन के रूप में, अब मैं जो कर रहा हूं वह है: मैं अभी भी संख्याओं को स्टोर करता हूं जैसे कि वे एक varchar फ़ील्ड में दर्ज किए गए थे, लेकिन क्वेरी समय पर चीजों को सामान्य करने के बजाय, मेरे पास एक ट्रिगर है जो रिकॉर्ड के रूप में सभी काम करता है या अद्यतन किया गया। इसलिए मेरे पास किसी भी हिस्से के लिए इनट्स या बड़े चिह्न हैं जिन्हें मुझे क्वेरी करने की आवश्यकता है, और उन फ़ील्ड्स को अनुक्रमित किया जाता है जिससे प्रश्नों को तेजी से चलाया जा सके।