Saya akan menyarankan untuk membatasi lokasi Anda dengan beberapa kondisi yang dapat diindeks. Anda dapat melakukannya dengan mudah karena Anda mungkin tidak ingin mencantumkan seseorang dari AS ke seseorang di Paris sebagai lokasi terdekat.
Dengan sedikit modifikasi pada kueri RustamIS, Anda dapat menghilangkan sebagian besar lokasi yang tidak relevan.
select * from gps_location_table t
where
t.x between 20.134554 and 20.334554 and t.y between 56.11455255 and 56.31455255
order by
sqrt((t.x - 20.234554)*(t.x - 20.234554) + (t.y - 56.21455255)*(t.y - 56.21455255)
desc
Jadi, Anda menentukan persegi panjang tempat Anda ingin mencari orang terdekat.