Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie finde ich effizient die nächstgelegenen Speicherorte in einer SQL-Datenbank?

Susan Sarandon
Freigeben: 2024-11-08 22:24:02
Original
702 Leute haben es durchsucht

How to Efficiently Find Closest Locations in a SQL Database?

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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage