Você não pode esperar
ST_Distance_Sphere()
para usar um índice nesta consulta. Você está fazendo um cálculo no conteúdo do campo geom e, em seguida, está fazendo uma comparação no resultado do cálculo. Os bancos de dados podem não usar um índice em tal cenário, a menos que você tenha um índice de função que faça praticamente o mesmo cálculo que em sua consulta. A maneira correta de encontrar locais a uma determinada distância de algum ponto é usar
ST_DWithin
e