Ik zou willen voorstellen om uw locatie te beperken tot enkele voorwaarden die kunnen worden geïndexeerd. U kunt dat gemakkelijk doen, omdat u waarschijnlijk niet iemand uit de VS naar iemand in Parijs wilt vermelden als dichtstbijzijnde locatie.
Met slechts een kleine aanpassing aan de RustamIS-query kunt u de meeste irrelevante locaties elimineren.
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
Dus je hebt een rechthoek gedefinieerd waar je de dichtstbijzijnde mensen wilt zoeken.