PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Warum verwenden meine Postgis keinen Index für das Geometriefeld?

Sie können ST_Distance_Sphere() nicht erwarten um einen Index für diese Abfrage zu verwenden. Sie führen eine Berechnung mit dem Inhalt des Geom-Felds durch und führen dann einen Vergleich mit dem Berechnungsergebnis durch. Datenbanken verwenden in einem solchen Szenario möglicherweise keinen Index, es sei denn, Sie haben einen Funktionsindex, der ziemlich genau die gleiche Berechnung wie in Ihrer Abfrage durchführt.

Der richtige Weg, um Orte in einer bestimmten Entfernung von einem Punkt zu finden, ist die Verwendung von ST_DWithin

und