Can't get this PostgreSQL query to run faster
ST_DWithin

ST_DistanceSphere(x,y)&lt;t cannot use your spatial index. ST_DWithin can, depending on the selectivity.  Instead use,

ST_DWithin(u.geo_point, l.geo_point, 1000);


Also, for testing purposes, you should remove the join to user_push_tokens and add it back once you get a better plan for the simpler query.