Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara efisien menemukan lokasi terdekat di dekat lokasi tertentu

Saya rasa apa yang ingin Anda capai dapat dilakukan dengan lebih baik menggunakan rumus Haversine di SQL Anda. Google memiliki tutorial tentang cara mendapatkan lokasi terdekat di database MySQL tetapi ide umumnya adalah SQL ini:

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;

Kemudian semua pekerjaan yang perlu Anda lakukan dilakukan di database, jadi Anda tidak perlu memasukkan semua bisnis ke dalam skrip PHP bahkan sebelum Anda memeriksa jaraknya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa Itu MySQL:Gambaran Umum

  2. 3 Cara untuk "Unhex" sebuah String di MySQL

  3. GROUP_CONCAT() Fungsi di MySQL

  4. Bagaimana menghubungkan database MySQL jarak jauh di PHP

  5. Ubah atau Setel Nilai Waktu Kueri Panjang MySQL untuk kueri log-lambat