Jag skulle föreslå att du begränsar din plats med några villkor som kan indexeras. Du kan göra det enkelt eftersom du förmodligen inte vill lista någon från USA till någon i Paris som närmaste plats.
Med bara lite modifiering på RustamIS-frågan kan du eliminera det mesta av de irrelevanta platserna.
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
Så du definierade en rektangel där du vill leta efter de närmaste personerna.