Tag Zusammen,
bin gerade dabei die Funktion "Find nearby place" unzusetzen. Ich habe dafür eine Mysql Datenbank mit Namen der Städte und dessen Koordinaten.
Das habe ich wie folgt in Mysql ungesetzt:
Für alle die das Statement nicht verstehen: Ich berechne die Entfernung zwischen meinen gesuchten Koordinaten und "JEDEM" ort der sich in der Datenbank befindet. Dann nehme ich den Ort mit der kürzesten entfernung.
Dies funktioniert bereits einwandfrei.
meine frage ist, ob es nicht einen besseren weg gibt oder ein besseres statement, denn das auflösen von allen entfernungen dauert seine zeit.
Ich habe das mit 2 datenbanken getestet. Die eine hat 180.000 datensätze die andere 8.000. Die größe braucht ca. 15sec. für die abfrage, die kleine ca. 300ms.
Ich würde das gerne beschleunigen, daher hat jemand verbesserungsvorschläge ?
Für jeden hinweis bin ich sehr dankbar... :-)
bin gerade dabei die Funktion "Find nearby place" unzusetzen. Ich habe dafür eine Mysql Datenbank mit Namen der Städte und dessen Koordinaten.
Das habe ich wie folgt in Mysql ungesetzt:
PHP-Code:
SELECT name,N,E,
6378137*aCos( Sin(N/180*pi())*Sin($N/180*pi()) + Cos(N/180*pi())*Cos($N/180*pi())*Cos($E/180*pi()-E/180*pi())) AS km
FROM `geo_zip` WHERE 1
GROUP BY name,N,E
ORDER BY km ASC LIMIT 1;
Dies funktioniert bereits einwandfrei.
meine frage ist, ob es nicht einen besseren weg gibt oder ein besseres statement, denn das auflösen von allen entfernungen dauert seine zeit.
Ich habe das mit 2 datenbanken getestet. Die eine hat 180.000 datensätze die andere 8.000. Die größe braucht ca. 15sec. für die abfrage, die kleine ca. 300ms.
Ich würde das gerne beschleunigen, daher hat jemand verbesserungsvorschläge ?
Für jeden hinweis bin ich sehr dankbar... :-)
Kommentar