Encoder: mysql: NAHE Ergebnisse

Beitrag lesen

Was für eine Differenz? Ich kann ja keinen Radius vorgeben.

Aber den Raduis ausrechnen kannst du ja und dann nach dem sortieren.
Also ORDER BY (Entfernung zwischen Tabelle.Ort und aktuellem Ort)

Da gibts dann vielleicht schon mal ein Problem mit der Performance, wenn du Millionen Einträge hast und bei jedem die Differenz berechnet werden muss, damit nach dieser sortiert werden kann.
In diesem Fall könntest du die Koordinaten erst mal beschränken, dass nur Koordinaten in einem bestimmten Bereich verwendet werden. Die findet ein Index (sofern vorhanden) schnell, dann muss nur für diese Datensätze die Differenz berechnet werden.
Wenn das keine 10 Einträge gibt, änderst du die Einschränkung so um dass mehr Einträge gefunden werden.