Zur Performance:
Alle reinen SQL-Abfragen zur Umkreissuche bedienen sich „fürchterlich komplizierter“ mathematischer Formeln.
- Das hat den Nachteil, dass die Indexe nicht benutzt werden können. Das geht also vergleichbar langsam.
Mein Trick für die Umkreissuche ist, je nach Radius ein Koordinatenviereck zu berechnen, und sich dann also in einem ersten Schritt die 10 bis 200 Orte aus dem Viereck geben zu lassen und dann nur diese mit der „fürchterlich komplizierten“ mathematischen Formel darauf zu untersuchen, ob diese im wohl auch im Umkreis liegen. Das geht dann in „hastdunichtgesehen".
Außerdem kannst Du bei einer solchen Umkreissuche und bei Radien bis 30 Kilometer durchaus auch die Erdkrümmung vernachlässigen. Die anderen, bei der Beechnung über Koordinaten nicht behebbaren Mängel (Wie wird denn die Koordinate der PLZ festgelegt?; Kein direkter Weg bei Gebieten links und rechts großer Flüsse?; Die Erde ist eher eine schrumpelige Kartoffel als eine Kugel!; …) wiegen bei kleinen Radien schwerer als die hierdurch auftretenden Ungenauigkeiten. Nur Genauheimer aus der nordeutschen Flachebene bestehen auf der Kugel und der reinen Geometrie.
Wir hatten hier im Forum dazu schon jede Menge Diskussionen, Du kannst dennoch fragen.