I have the below query, it take about 1 min to execute. I realize this is doing a lot of math here, when this was ran in MySQL with only a primary key index, it took less than 3 secs. What would be the best index to achieve a query result with less than a few seconds or quicker?

A single document looks like this:

{

“address”: {

“city”: “Des Moines”,

“country”: “US”,

“fullAddress”: “2428 Hubbell Ave, Des Moines, IA 50317”,

“phoneNumber”: “515-263-8576”,

“postalCode”: “50317”,

“state”: “IA”,

“streetAddress”: “2428 Hubbell Ave”

},

“geo”: {

“latitude”: 41.606425997287,

“longitude”: -93.57212305069

},

“id”: 45,

“image”: “”,

“name”: “QuikTrip”

}

`SELECT stationID, stationName, address.stationFullAddress, (acos(sin(radians(39.9958)) * sin(radians(geo.latitude)) + cos(radians(39.9958)) * cos(radians(geo.latitude)) * cos(radians(-82.7974) - radians(geo.longitude))) * 6378) as distance FROM Stations where (acos(sin(radians(39.9958)) * sin(radians(geo.latitude)) + cos(radians(39.9958)) * cos(radians(geo.latitude)) * cos(radians(-82.7974) - radians(geo.longitude))) * 6378) < 5 ORDER BY distance ASC;`