Eh bien, tout d'abord, si vous avez beaucoup de données géospatiales, vous devriez utiliser les extensions géospatiales de mysql plutôt que des calculs comme celui-ci. Vous pouvez ensuite créer des index spatiaux cela accélérerait de nombreuses requêtes et vous n'avez pas à écrire de longues requêtes comme celle ci-dessus.
Utilisation d'une comparaison avec ST_Distance ou créer une géométrie avec le rayon d'intérêt avec ST_within pourrait vous donner de bons résultats et pourrait être beaucoup plus rapide que le courant. Cependant, le meilleur et le plus rapide moyen d'y parvenir est ST_Dwithin n'est pas encore implémenté dans mysql.