sql >> Databasteknik >  >> RDS >> PostgreSQL

Lägg till index för att snabba upp Geokoder nära sökning

Nedgången orsakas sannolikt av matematiska operationer och inte av att tabelldata hämtas. En del av dina kriterier är inte mot postfält utan mot resultatet av matematikoperationen på andra poster, så det blir ett O(N).

Anledningen till att Postgres inte använder ett index och väljer Seq scan istället är för att det beslutar att de flesta tabellposterna måste hämtas under sökning. När de flesta poster i tabellen ska hämtas kanske index inte ger någon större nytta om någon.

För att påskynda saker och ting bör du överväga att använda rymdindex och närhetsbaserad sökning av PostGis eller, alternativt, Elasticsearch med Geo Distance Query .




  1. Hur man konverterar bool till int i MySql

  2. Hur operatören LÅTER SOM fungerar i MySQL

  3. Kopiera/duplicera SQL-rad med blob/text, hur gör man det?

  4. Hur man säkerhetskopierar och återställer en PostgreSQL-databas