Comparación de código PHP PHP MySQL específicamente distancia

Estoy tratando de averiguar cuál sería el más eficiente (con respecto al tiempo de carga) para comparar la distancia entre un código postal (que proporciona el usuario) y un montón de otros códigos postales (hay aproximadamente 200 códigos postales en este momento , pero está sujeto a boost con el tiempo). No necesito nada exacto solo en el parque de béisbol.

Descargué un archivo csv con código postal para todos los EE. UU., Y obtuve una función que produce la distancia entre dos códigos postales (en radianes, creo). No necesito mostrar la distancia, solo necesito ordenar el archivo. 200 códigos postales, siendo el más cercano el primero de los resultados.

Cargué el archivo csv en una tabla mysql. Estaba pensando que podría recorrer todos los 200 códigos postales y actualizar un campo para cada uno que contenga la distancia. Luego, usando ORDER BY, ordénelos de más cercano a más lejano.

¿Alguien sabe de una manera más eficiente de hacer esto? De esta forma, se requerirá actualizar todo el db de códigos postales cada vez que se ejecute una consulta de búsqueda. Con solo 200 códigos postales no es un gran problema ahora, pero imagino que ralentizará el tiempo de carga a medida que el db construye. Gracias por cualquier consejo, es muy apreciado!

En Javascript:

var R = 6371; // km var dLat = (lat2-lat1).toRad(); var dLon = (lon2-lon1).toRad(); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * Math.sin(dLon/2) * Math.sin(dLon/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; 

donde d = distancia entre dos puntos

Esta es la fórmula de Haversine .