Ну, для начала, вы можете хранить предварительно рассчитанные данные в базе данных, когда сохраняете широту и долготу.Например, если вы предварительно сохранили широту и долготу в радианах, вам нужно будет рассчитывать RADIANS (широту) и RADIANS (долготу) только один раз, когда вы сохраняете каждое местоположение, а не каждый раз, когда вам нужно рассчитать расстояние (предположительно, гораздо чаще, чем один раз.)
Может быть, еще немного сбрить, сохраняя SIN (RADIANS (широта)) и COS (RADIANS (широта)) при первом заполнении строки тоже ...
Я предполагаю, что вы делаете много, много вычислений "ближайшего к Х" со временем - это то, что люди обычно делают, когда сталкиваются с этими вычислениями - и предварительный расчет того, что вы можете, обычно является первымчто попробовать.