मेरे पास मेरे डेटाबेस में रिकॉर्ड्स की एक सूची है और प्रत्येक रिकॉर्ड एक ज़िप कोड से जुड़ा हुआ है।ज़िप कोड के एन मील के भीतर रिकॉर्ड के लिए डेटाबेस से पूछताछ करने का सबसे अच्छा तरीका क्या है?
किसी अन्य ज़िप कोड के एन मील के भीतर सभी प्रविष्टियों को खोजने के लिए मेरे डेटाबेस में सभी रिकॉर्ड्स पूछने के लिए "सर्वोत्तम अभ्यास" क्या है?
प्रत्येक ज़िप कोड में डेटाबेस में इसके साथ लेट/लम्बा जुड़ा होता है, इसलिए मुझे पता है कि मुझे इसका उपयोग करना होगा। हालांकि, मैं ज़िप कोड की प्रत्येक जोड़ी पर किसी भी प्रकार के दूरी सूत्र को चलाने, मील में परिवर्तित करने और उन लोगों को अस्वीकार करने की कल्पना नहीं कर सकता जो मेरे त्रिज्या के भीतर नहीं हैं।
ऐसा लगता है कि इस तरह की एक आम क्वेरी के लिए बेहद संगणकीय रूप से महंगा लगता है।
मैंने सभी जोड़ों को पूर्व-गणना करने पर भी विचार किया है लेकिन यह भी विचार करने के लिए बहुत बड़ा लगता है। अमेरिका में लगभग ~ 40,000 ज़िप कोड हैं। इसलिए, प्रत्येक ज़िप कोड के सभी जोड़े डेटाबेस (40,000)^2, या 1.6 बिलियन प्रविष्टियां होंगी।
मुझे पता है कि यह वेबसाइटों पर एक आम समस्या है इसलिए उम्मीद है कि कोई मुझे सही तरीके से सही दिशा में इंगित कर सकता है। मैं SQL सर्वर 2008 का उपयोग कर रहा हूं और यदि वहां पूर्व-निर्मित समाधान हैं तो महान, क्योंकि मैं वास्तव में इस उदाहरण में व्हील को फिर से आविष्कार नहीं करना चाहता हूं।
संबंधित प्रश्न: Getting all zip codes within radius (यह मेरी मदद नहीं की थी)
इसके अलावा, मैं इस SourceForge परियोजना के बारे में पता है, लेकिन यह परित्यक्त और अब उपयोग में है।
डांग: मुझे इसे हराएं! –