No puede esperar ST_Distance_Sphere()
para usar un índice en esta consulta. Está haciendo un cálculo sobre el contenido del campo geom y luego está haciendo una comparación sobre el resultado del cálculo. Es posible que las bases de datos no usen un índice en tal escenario a menos que tenga un índice de función que haga prácticamente el mismo cálculo que en su consulta.
La forma correcta de encontrar ubicaciones dentro de una distancia dada desde algún punto es usar ST_DWithin
y