sql >> Databasteknik >  >> RDS >> PostgreSQL

Varför använder min postgis inte index på geometrifält?

Du kan inte förvänta dig ST_Distance_Sphere() för att använda ett index för den här frågan. Du gör en beräkning på innehållet i geomfältet och sedan gör du en jämförelse på beräkningsresultatet. Databaser kanske inte använder ett index i ett sådant scenario om du inte har ett funktionsindex som gör ungefär samma beräkning som i din fråga.

Det korrekta sättet att hitta platser på ett givet avstånd från någon punkt är att använda ST_DWithin

och




  1. Bästa metoder för mjuk borttagning (PHP/MySQL)

  2. SQL-övervakning i SQL-utvecklare

  3. Hur citerar du strängar i Postgres

  4. Hur IFNULL() fungerar i MariaDB