cálculos de distancia en consultas mysql

Tengo que consultar una base de datos de miles de entradas y ordenar esto por la distancia desde un punto especificado.

El problema es que cada entrada tiene una latitud y longitud y necesitaría recuperar cada entrada para calcular su distancia. Con una base de datos grande, no quiero recuperar cada fila, esto puede llevar algún tiempo.

¿Hay alguna manera de construir esto en la consulta mysql para que solo necesite recuperar las 15 entradas más cercanas?

P.ej.

`SELECT events.id, caclDistance($latlng, events.location) AS distance FROM events ORDER BY distance LIMIT 0,15`

    function caclDistance($old, $new){
       //Calculates the distance between $old and $new
    }

Respuestas a la pregunta(5)

Su respuesta a la pregunta