Mysql
 sql >> база данни >  >> RDS >> Mysql

Как ефективно да намерите най-близките места в близост до дадено местоположение

Мисля, че това, което се опитвате да постигнете, може да се направи по-добре с помощта на формулата на Haversine във вашия SQL. 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. Как ефективно да намерите най-близките места в близост до дадено местоположение

  2. Как да получа първия ден от всеки съответен месец в mysql?

  3. Изключване на единични кавички в PHP при вмъкване в MySQL

  4. Codeigniter - множество връзки към база данни

  5. mysql_insert_id безопасен ли е за използване?