Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

अक्षांश देशांतर पर आधारित त्रिज्या खोज करने के लिए SQL क्वेरी

मेरी राय में शामिल गणित के कारण WHERE क्लॉज धीमा होने वाला है, और WHERE क्लॉज में फ़ंक्शंस का उपयोग डेटाबेस को क्वेरी को गति देने के लिए इंडेक्स का उपयोग करने से रोकेगा - इसलिए, वास्तव में, आप प्रत्येक रेस्तरां की जांच करेंगे डेटाबेस, और हर बार जब आप कोई प्रश्न करते हैं, तो हर पंक्ति पर ग्रेट-सर्कल गणित का प्रदर्शन करते हैं।

व्यक्तिगत रूप से मैं एक वर्ग के टॉपलेफ्ट और बॉटमराइट को-ऑर्डिनेट्स की गणना करता हूं (जिसे केवल पाइथागोरस का उपयोग करके क्रूडली गणना करने की आवश्यकता होती है) जो कि आप जिस श्रेणी की तलाश कर रहे हैं, उसके बराबर पक्षों के साथ, और फिर छोटे उपसमुच्चय पर अधिक जटिल WHERE क्लॉज टेस्ट करें। रिकॉर्ड जो उस अक्षांश/लंबे वर्ग के भीतर हैं।

डेटाबेस में लेट एंड लॉन्ग पर एक इंडेक्स के साथ क्वेरी

WHERE     MyLat >= @MinLat AND MyLat <= @MaxLat
      AND MyLong >= @MinLong AND MyLong <= @MaxLong

बहुत कुशल होना चाहिए

(कृपया ध्यान दें कि मुझे विशेष रूप से केवल MS SQL के MySQL का कोई ज्ञान नहीं है)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मुझे कर्मचारी तालिका से दूसरा सबसे बड़ा वेतन कैसे मिलेगा?

  2. स्टैक की रचना - MySQL कंटेनरों के डॉकर परिनियोजन को सरल बनाएं

  3. अभी से रिकॉर्ड चुनें () -1 दिन

  4. ड्रॉपडाउन को पॉप्युलेट करने के लिए PHP और MySQL का उपयोग करना

  5. कोडइग्निटर कॉन्फिग चारसेट और UTF-8 सपोर्ट