Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann man mithilfe von MySQL effizient Koordinaten in einem Umkreis von 5 Meilen finden?

Barbara Streisand
Freigeben: 2024-11-01 01:56:28
Original
288 Leute haben es durchsucht

How to Efficiently Find Coordinates Within a 5-Mile Radius Using MySQL?

Koordinaten innerhalb eines Bereichs mit MySQL finden

Um die Datenbankleistung zu verbessern und den Verarbeitungsaufwand zu reduzieren, ist es wünschenswert, Abfragen zu optimieren, die bestimmte Daten innerhalb eines Bereichs abrufen einen bestimmten Bereich. In diesem Szenario verfügen Sie über eine Datenbank mit 100.000 Adressen, jede mit ihren Breiten- und Längenkoordinaten. Ihr Ziel besteht darin, nur die Adressen anzuzeigen, die sich in einem Umkreis von 5 Meilen um den Standort eines bestimmten Benutzers befinden, und so die Ergebnisse effektiv von 100.000 auf etwa 5 oder 6 einzugrenzen.

Um dieses Problem effizient zu lösen, können Sie die verwenden Haversine-Formel direkt in Ihrer MySQL-Abfrage. Diese mathematische Formel berechnet den Abstand zwischen zwei Punkten auf einer Kugel anhand ihrer jeweiligen Breiten- und Längengrade.

So können Sie die Haversine-Formel in Ihre Abfrage integrieren:

$sql = "SELECT *, ( 3959 * acos( cos( radians(" . $lat . ") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(" . $lng . ") ) + sin( radians(" . $lat . ") ) * sin( radians( lat ) ) ) ) AS distance FROM your_table HAVING distance < 5";
Nach dem Login kopieren

In dieser Abfrage Ersetzen Sie $lat und $lng durch die Breiten- und Längenkoordinaten des Standorts des Benutzers. Das Ergebnis dieser Abfrage ist eine Liste von Adressen mit ihrer Entfernung vom Standort des Benutzers, der in der Entfernungsspalte angegeben ist. Mithilfe dieser Liste können Sie dann die Adressen herausfiltern, die in den 5-Meilen-Bereich fallen.

Durch die direkte Anwendung der Haversine-Formel in MySQL können Sie die Anzahl der abgerufenen Datensätze erheblich reduzieren und die Leistung Ihrer Adressen verbessern Datenbankbetrieb. Diese Methode stellt sicher, dass nur die relevanten Adressen zurückgegeben werden, wodurch unnötige Verarbeitung minimiert und die Reaktionsfähigkeit Ihrer Anwendung verbessert wird.

Das obige ist der detaillierte Inhalt vonWie kann man mithilfe von MySQL effizient Koordinaten in einem Umkreis von 5 Meilen finden?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!