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

किसी दिए गए स्थान के आस-पास के निकटतम स्थानों को कुशलतापूर्वक कैसे खोजें

मुझे लगता है कि आप जो हासिल करने की कोशिश कर रहे हैं वह Haversine फ़ॉर्मूला का उपयोग करके बेहतर तरीके से किया जा सकता है। आपके एसक्यूएल में। Google के पास एक ट्यूटोरियल है कि कैसे MySQL डेटाबेस में निकटतम स्थान प्राप्त करें लेकिन सामान्य विचार यह SQL है:

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) )
  * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) 
  * sin( radians( lat ) ) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance LIMIT 0 , 20;

फिर आपको जो भी काम करने की ज़रूरत है वह डेटाबेस पर किया जाता है, इसलिए आपको दूरी की जांच करने से पहले सभी व्यवसायों को अपनी PHP स्क्रिप्ट में खींचने की ज़रूरत नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL प्राथमिक कुंजी

  2. MySQL पोर्ट एक्सेस को कैसे प्रतिबंधित करें

  3. MySQL InnoDB क्लस्टर 8.0 - एक पूर्ण ऑपरेशन वॉक-थ्रू:भाग दो

  4. अल्पविराम सूची में MySQL खोज

  5. mysql पूर्ण पाठ खोज विफलता