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

Søg i 300 millioner adresser med pg_trgm

Tabelopdeling hjælper slet ikke .

Men ja, der er en god måde:Opgrader til en aktuel version af Postgres. Der er sket mange forbedringer for GiST-indekser, for pg_trgm-modulet i særdeleshed og for big data generelt. Bør være væsentligt hurtigere med Postgres 10.

Din "nærmeste nabo"-søgning ser korrekt ud, bortset fra en lille LIMIT brug denne tilsvarende forespørgsel i stedet:

SELECT address, similarity(address, '981 maun st') AS sml 
FROM   addresses 
WHERE  address % '981 maun st' 
ORDER  BY address &lt-> '981 maun st'
LIMIT  10;

Citerer vejledningen:




  1. Java kører ikke forberede sætninger med parameter

  2. ConfigurationErrorException i forsøget på at køre konsolapp med MySQL Entity Framework 6

  3. indsætte kontakter i databasen, men ønsker ikke at duplikere allerede eksisterende kontakt

  4. Typer af SQL JOIN