Bene, prima di tutto se hai molti dati geospaziali, dovresti usare le estensioni geospaziali di mysql piuttosto che calcoli come questo. È quindi possibile creare indici spaziali ciò accelererebbe molte query e non devi scrivere query lunghe come quella sopra.
Utilizzando un confronto con ST_Distanza oppure creare una geometria con il raggio di interesse insieme a ST_within potrebbe darti buoni risultati e potrebbe essere molto più veloce della corrente. Tuttavia, il modo migliore e più veloce per raggiungere questo obiettivo, ST_Dwithin non è ancora implementato in MySQL.