Das muss man ausprobieren, ob eine näherung mit einer Bounding-Box schneller ist als gleich direkt zu berechnen.
Davon würde ich immer dann ausgehen, wenn die Koordinaten-Spalten in der DB indexiert sind und die Datentabelle mehr als 30 zeilen enthält.
Wenn die Datenbank ordentlich optimiert, dann könnte auch die where-Klausel entsprechend gestaltet werden:
...
WHERE
laenge=betwen(minLaenge, maxLaenge)
AND
breite=betwen(minBreite, maxBreite)
AND
#Maxentfernung# <= ( (6378.388 * ACOS(SIN(#Breite Suchort#) * SIN(`breite`) + COS(#Breite Suchort#) * COS(`breite`) * COS(`laenge` - #Laenge Suchort#)) )
...
Erst wenn die Länge und Breiten überhaupt in das vorberechnete Viereck passen wird die "etwas" teurere Berechnung durchgeführt - wenn der SQL-Server vernünftig optimiert.
Zur Formel siehe auch http://www.kompf.de/gps/distcalc.html
Jörg Reinholz