sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvorfor bruger min postgis ikke indeks på geometrifelt?

Du kan ikke forvente ST_Distance_Sphere() for at bruge et indeks på denne forespørgsel. Du laver en beregning på indholdet af geomfeltet og derefter laver du en sammenligning på beregningsresultatet. Databaser bruger muligvis ikke et indeks i et sådant scenario, medmindre du har et funktionsindeks, der stort set udfører den samme beregning som i din forespørgsel.

Den korrekte måde at finde steder med i en given afstand fra et eller andet punkt er at bruge ST_DWithin

og




  1. Få polygoner tæt på en lat,long i MySQL

  2. ADDM på SearchOracle.com

  3. Databasedesign - nullbare felter

  4. PostgreSQL vs. MySQL:Hvilken er bedst?