Heim >Datenbank >MySQL-Tutorial >Wie finde ich effizient die nächstgelegenen Speicherorte in einer SQL-Datenbank?
Effizientes Finden der nächstgelegenen Standorte in der Nähe eines bestimmten Standorts
Um die Standorte, die einer bestimmten Koordinate am nächsten liegen, effizient zu identifizieren, sollten Sie die darin enthaltene Haversine-Formel verwenden Ihre SQL-Abfrage. Weitere Informationen finden Sie im Google-Tutorial zum Abrufen von Standorten in der Nähe mithilfe von MySQL.
Hier ist ein Beispiel für eine SQL-Anweisung:
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;
Durch die Verwendung der Haversine-Formel in der Datenbank entfällt die Notwendigkeit, alle Unternehmen in die Datenbank zu laden Ihr PHP-Skript. Dies steigert die Leistung erheblich, insbesondere bei der Arbeit mit großen Datenmengen wie Ihren 5.000-Unternehmen.
Das obige ist der detaillierte Inhalt vonWie finde ich effizient die nächstgelegenen Speicherorte in einer SQL-Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!